<?xml version="1.0" encoding="UTF-8"?>
<!--
 -
 - Licensed to the Apache Software Foundation (ASF) under one
 - or more contributor license agreements.  See the NOTICE file
 - distributed with this work for additional information
 - regarding copyright ownership.  The ASF licenses this file
 - to you under the Apache License, Version 2.0 (the
 - "License"); you may not use this file except in compliance
 - with the License.  You may obtain a copy of the License at
 -
 -   http://www.apache.org/licenses/LICENSE-2.0
 -
 - Unless required by applicable law or agreed to in writing,
 - software distributed under the License is distributed on an
 - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 - KIND, either express or implied.  See the License for the
 - specific language governing permissions and limitations
 - under the License.
 -
 -->
<connection-factories>

  <mbean code="org.jboss.resource.deployment.AdminObject"
         name="qpid.jca:name=HelloTopic">
     <attribute name="JNDIName">HelloTopic</attribute>
     <depends optional-attribute-name="RARName">jboss.jca:service=RARDeployment,name='@rar.name@'</depends>
     <attribute name="Type">org.apache.qpid.ra.admin.QpidTopic</attribute>
     <attribute name="Properties">
        DestinationAddress=@qpid.hello.topic.dest.address@
     </attribute>
  </mbean>

  <mbean code="org.jboss.resource.deployment.AdminObject"
         name="qpid.jca:name=GoodByeTopic">
     <attribute name="JNDIName">GoodByeTopic</attribute>
     <depends optional-attribute-name="RARName">jboss.jca:service=RARDeployment,name='@rar.name@'</depends>
     <attribute name="Type">org.apache.qpid.ra.admin.QpidTopic</attribute>
     <attribute name="Properties">
        DestinationAddress=@qpid.goodbye.topic.dest.address@
     </attribute>
  </mbean>

  <mbean code="org.jboss.resource.deployment.AdminObject"
         name="qpid.jca:name=HelloGoodByeTopic">
     <attribute name="JNDIName">HelloGoodByeTopic</attribute>
     <depends optional-attribute-name="RARName">jboss.jca:service=RARDeployment,name='@rar.name@'</depends>
     <attribute name="Type">org.apache.qpid.ra.admin.QpidTopic</attribute>
     <attribute name="Properties">
        DestinationAddress=@qpid.hellogoodbye.topic.dest.address@
     </attribute>
  </mbean>

  <mbean code="org.jboss.resource.deployment.AdminObject"
         name="qpid.jca:name=HelloQueue">
     <attribute name="JNDIName">HelloQueue</attribute>
     <depends optional-attribute-name="RARName">jboss.jca:service=RARDeployment,name='@rar.name@'</depends>
     <attribute name="Type">org.apache.qpid.ra.admin.QpidQueue</attribute>
     <attribute name="Properties">
        DestinationAddress=@qpid.hello.queue.dest.address@
     </attribute>
  </mbean>

  <mbean code="org.jboss.resource.deployment.AdminObject"
         name="qpid.jca:name=GoodByeQueue">
     <attribute name="JNDIName">GoodByeQueue</attribute>
     <depends optional-attribute-name="RARName">jboss.jca:service=RARDeployment,name='@rar.name@'</depends>
     <attribute name="Type">org.apache.qpid.ra.admin.QpidQueue</attribute>
     <attribute name="Properties">
        DestinationAddress=@qpid.goodbye.queue.dest.address@
     </attribute>
  </mbean>

  <mbean code="org.jboss.resource.deployment.AdminObject"
         name="qpid.jca:name=QpidRequestQueue">
     <attribute name="JNDIName">QpidRequestQueue</attribute>
     <depends optional-attribute-name="RARName">jboss.jca:service=RARDeployment,name='@rar.name@'</depends>
     <attribute name="Type">org.apache.qpid.ra.admin.QpidQueue</attribute>
     <attribute name="Properties">
        DestinationAddress=@qpid.request.queue.dest.address@
     </attribute>
  </mbean>

  <mbean code="org.jboss.resource.deployment.AdminObject"
         name="qpid.jca:name=QpidResponseQueue">
     <attribute name="JNDIName">QpidResponseQueue</attribute>
     <depends optional-attribute-name="RARName">jboss.jca:service=RARDeployment,name='@rar.name@'</depends>
     <attribute name="Type">org.apache.qpid.ra.admin.QpidQueue</attribute>
     <attribute name="Properties">
        DestinationAddress=@qpid.response.queue.dest.address@
     </attribute>
  </mbean>
  <mbean code="org.jboss.resource.deployment.AdminObject"
         name="qpid.jca:name=QpidConnectionFactory">
     <attribute name="JNDIName">QpidConnectionFactory</attribute>
     <depends optional-attribute-name="RARName">jboss.jca:service=RARDeployment,name='@rar.name@'</depends>
     <attribute name="Type">javax.jms.ConnectionFactory</attribute>
     <attribute name="Properties">
        ConnectionURL=@broker.url@
     </attribute>
  </mbean>

  <!-- Non XA connection factory. Can be used when running adapter against clustered Brokers -->
  <tx-connection-factory>
    <jndi-name>QpidJMS</jndi-name>
     <rar-name>@rar.name@</rar-name>
    <local-transaction/>
    <config-property name="useLocalTx" type="java.lang.Boolean">true</config-property>
    <config-property name="connectionURL">@broker.url@</config-property>
    <config-property name="SessionDefaultType" type="java.lang.String">javax.jms.Queue</config-property>
    <connection-definition>org.apache.qpid.ra.QpidRAConnectionFactory</connection-definition>
    <max-pool-size>20</max-pool-size>
  </tx-connection-factory>

  <!--XA ConnectionFactory-->
  <tx-connection-factory>
    <jndi-name>QpidJMSXA</jndi-name>
     <xa-transaction/>
     <rar-name>@rar.name@</rar-name>
    <config-property name="connectionURL">@broker.url@</config-property>
    <config-property name="SessionDefaultType" type="java.lang.String">javax.jms.Queue</config-property>
    <connection-definition>org.apache.qpid.ra.QpidRAConnectionFactory</connection-definition>
    <max-pool-size>20</max-pool-size>
  </tx-connection-factory>

</connection-factories>
