<?xml version='1.0'?>
<!-- NOTE: this file is autogenerated by Apache XBean -->

<xs:schema elementFormDefault='qualified'
           targetNamespace='http://jencks.org/amqpool/2.0'
           xmlns:xs='http://www.w3.org/2001/XMLSchema'
           xmlns:tns='http://jencks.org/amqpool/2.0'>

  <!-- element for type: org.jencks.amqpool.JcaPooledConnectionFactory -->
  <xs:element name='jcaPooledConnectionFactory'>
    <xs:complexType>
      <xs:sequence>
        <xs:element name='connectionFactory' minOccurs='0' maxOccurs='1'>
          <xs:complexType>
            <xs:choice minOccurs='0' maxOccurs='1'>
              <xs:element ref='tns:jcaPooledConnectionFactory'/>
              <xs:element ref='tns:pool'/>
              <xs:element ref='tns:xa-pool'/>
              <xs:any namespace='##other'/>
            </xs:choice>
          </xs:complexType>
        </xs:element>
        <xs:element name='poolFactory' minOccurs='0' maxOccurs='1'>
          <xs:annotation>
            <xs:documentation><![CDATA[
              Sets the object pool factory used to create individual session pools for
each connection
            ]]></xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:sequence minOccurs='0' maxOccurs='1'><xs:any namespace='##other'/></xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name='transactionManager' minOccurs='0' maxOccurs='1'>
          <xs:complexType>
            <xs:sequence minOccurs='0' maxOccurs='1'><xs:any namespace='##other'/></xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:any namespace='##other' minOccurs='0' maxOccurs='unbounded'/>
      </xs:sequence>
      <xs:attribute name='brokerURL' type='xs:string'/>
      <xs:attribute name='connectionFactory' type='xs:string'/>
      <xs:attribute name='maxConnections' type='xs:integer'/>
      <xs:attribute name='maximumActive' type='xs:integer'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            Sets the maximum number of active sessions per connection
          ]]></xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name='name' type='xs:string'/>
      <xs:attribute name='poolFactory' type='xs:string'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            Sets the object pool factory used to create individual session pools for
each connection
          ]]></xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name='transactionManager' type='xs:string'/>
      <xs:attribute name='id' type='xs:ID'/>
      <xs:anyAttribute namespace='##other' processContents='lax'/>
    </xs:complexType>
  </xs:element>


  <!-- element for type: org.jencks.amqpool.PooledConnectionFactory -->
  <xs:element name='pool'>
    <xs:annotation>
      <xs:documentation><![CDATA[
        A JMS provider which pools Connection, Session and MessageProducer instances
so it can be used with tools like Spring's <a
href="http://activemq.org/Spring+Support">JmsTemplate</a>.

<b>NOTE</b> this implementation is only intended for use when sending
messages. It does not deal with pooling of consumers; for that look at a
library like <a href="http://jencks.org/">Jencks</a> such as in <a
href="http://jencks.org/Message+Driven+POJOs">this example</a>
      ]]></xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element name='connectionFactory' minOccurs='0' maxOccurs='1'>
          <xs:complexType>
            <xs:choice minOccurs='0' maxOccurs='1'>
              <xs:element ref='tns:jcaPooledConnectionFactory'/>
              <xs:element ref='tns:pool'/>
              <xs:element ref='tns:xa-pool'/>
              <xs:any namespace='##other'/>
            </xs:choice>
          </xs:complexType>
        </xs:element>
        <xs:element name='poolFactory' minOccurs='0' maxOccurs='1'>
          <xs:annotation>
            <xs:documentation><![CDATA[
              Sets the object pool factory used to create individual session pools for
each connection
            ]]></xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:sequence minOccurs='0' maxOccurs='1'><xs:any namespace='##other'/></xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:any namespace='##other' minOccurs='0' maxOccurs='unbounded'/>
      </xs:sequence>
      <xs:attribute name='brokerURL' type='xs:string'/>
      <xs:attribute name='connectionFactory' type='xs:string'/>
      <xs:attribute name='maxConnections' type='xs:integer'/>
      <xs:attribute name='maximumActive' type='xs:integer'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            Sets the maximum number of active sessions per connection
          ]]></xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name='poolFactory' type='xs:string'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            Sets the object pool factory used to create individual session pools for
each connection
          ]]></xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name='id' type='xs:ID'/>
      <xs:anyAttribute namespace='##other' processContents='lax'/>
    </xs:complexType>
  </xs:element>


  <!-- element for type: org.jencks.amqpool.XaPooledConnectionFactory -->
  <xs:element name='xa-pool'>
    <xs:annotation>
      <xs:documentation><![CDATA[
        A pooled connection factory that automatically enlists
sessions in the current active XA transaction if any.
      ]]></xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element name='connectionFactory' minOccurs='0' maxOccurs='1'>
          <xs:complexType>
            <xs:choice minOccurs='0' maxOccurs='1'>
              <xs:element ref='tns:jcaPooledConnectionFactory'/>
              <xs:element ref='tns:pool'/>
              <xs:element ref='tns:xa-pool'/>
              <xs:any namespace='##other'/>
            </xs:choice>
          </xs:complexType>
        </xs:element>
        <xs:element name='poolFactory' minOccurs='0' maxOccurs='1'>
          <xs:annotation>
            <xs:documentation><![CDATA[
              Sets the object pool factory used to create individual session pools for
each connection
            ]]></xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:sequence minOccurs='0' maxOccurs='1'><xs:any namespace='##other'/></xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name='transactionManager' minOccurs='0' maxOccurs='1'>
          <xs:complexType>
            <xs:sequence minOccurs='0' maxOccurs='1'><xs:any namespace='##other'/></xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:any namespace='##other' minOccurs='0' maxOccurs='unbounded'/>
      </xs:sequence>
      <xs:attribute name='brokerURL' type='xs:string'/>
      <xs:attribute name='connectionFactory' type='xs:string'/>
      <xs:attribute name='maxConnections' type='xs:integer'/>
      <xs:attribute name='maximumActive' type='xs:integer'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            Sets the maximum number of active sessions per connection
          ]]></xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name='poolFactory' type='xs:string'>
        <xs:annotation>
          <xs:documentation><![CDATA[
            Sets the object pool factory used to create individual session pools for
each connection
          ]]></xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name='transactionManager' type='xs:string'/>
      <xs:attribute name='id' type='xs:ID'/>
      <xs:anyAttribute namespace='##other' processContents='lax'/>
    </xs:complexType>
  </xs:element>


</xs:schema>
