[hornetq-commits] JBoss hornetq SVN: r9762 - in branches/HORNETQ-515: examples/jms/client-kickoff/server0 and 45 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Sun Oct 10 08:15:47 EDT 2010


Author: gaohoward
Date: 2010-10-10 08:15:41 -0400 (Sun, 10 Oct 2010)
New Revision: 9762

Added:
   branches/HORNETQ-515/src/main/org/hornetq/jms/client/HornetQJMSConnectionFactory.java
   branches/HORNETQ-515/src/main/org/hornetq/jms/client/HornetQQueueConnectionFactory.java
   branches/HORNETQ-515/src/main/org/hornetq/jms/client/HornetQTopicConnectionFactory.java
   branches/HORNETQ-515/src/main/org/hornetq/jms/client/HornetQXAConnectionFactory.java
   branches/HORNETQ-515/src/main/org/hornetq/jms/client/HornetQXAQueueConnectionFactory.java
   branches/HORNETQ-515/src/main/org/hornetq/jms/client/HornetQXATopicConnectionFactory.java
   branches/HORNETQ-515/src/main/org/hornetq/jms/server/impl/JMSFactoryType.java
Modified:
   branches/HORNETQ-515/examples/javaee/xarecovery/server/hornetq-jms.xml
   branches/HORNETQ-515/examples/jms/client-kickoff/server0/hornetq-jms.xml
   branches/HORNETQ-515/examples/jms/jms-bridge/server0/hornetq-jms.xml
   branches/HORNETQ-515/examples/jms/jms-bridge/server1/hornetq-jms.xml
   branches/HORNETQ-515/examples/jms/jms-bridge/src/org/hornetq/jms/example/JMSBridgeExample.java
   branches/HORNETQ-515/examples/jms/jmx/server0/hornetq-jms.xml
   branches/HORNETQ-515/examples/jms/management/server0/hornetq-jms.xml
   branches/HORNETQ-515/examples/jms/message-counters/server0/hornetq-jms.xml
   branches/HORNETQ-515/examples/jms/queue-requestor/server0/hornetq-jms.xml
   branches/HORNETQ-515/examples/jms/symmetric-cluster/src/org/hornetq/jms/example/SymmetricClusterExample.java
   branches/HORNETQ-515/examples/jms/xa-heuristic/server0/hornetq-jms.xml
   branches/HORNETQ-515/examples/jms/xa-receive/server0/hornetq-jms.xml
   branches/HORNETQ-515/examples/jms/xa-send/server0/hornetq-jms.xml
   branches/HORNETQ-515/examples/jms/xa-with-jta/server0/hornetq-jms.xml
   branches/HORNETQ-515/examples/soak/tx-restarts/server0/hornetq-jms.xml
   branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/main/java/org/hornetq/rest/integration/HornetqBootstrapListener.java
   branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/main/java/org/hornetq/rest/integration/RestMessagingBootstrapListener.java
   branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/main/java/org/hornetq/rest/integration/ServletContextBindingRegistry.java
   branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/main/java/org/hornetq/rest/queue/ConsumersResource.java
   branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/main/java/org/hornetq/rest/queue/push/FilePushStore.java
   branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/main/java/org/hornetq/rest/queue/push/PushConsumer.java
   branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/main/java/org/hornetq/rest/queue/push/UriStrategy.java
   branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/main/java/org/hornetq/rest/topic/FileTopicPushStore.java
   branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/main/java/org/hornetq/rest/topic/SubscriptionsResource.java
   branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/main/java/org/hornetq/rest/util/CustomHeaderLinkStrategy.java
   branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/main/java/org/hornetq/rest/util/TimeoutTask.java
   branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/test/java/org/hornetq/rest/test/JMSTest.java
   branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/test/java/org/hornetq/rest/test/RawRestartTest.java
   branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/test/java/org/hornetq/rest/test/TransformTest.java
   branches/HORNETQ-515/src/config/common/schema/hornetq-jms.xsd
   branches/HORNETQ-515/src/main/org/hornetq/api/core/client/HornetQClient.java
   branches/HORNETQ-515/src/main/org/hornetq/api/jms/HornetQJMSClient.java
   branches/HORNETQ-515/src/main/org/hornetq/jms/bridge/ConnectionFactoryFactory.java
   branches/HORNETQ-515/src/main/org/hornetq/jms/bridge/impl/JMSBridgeImpl.java
   branches/HORNETQ-515/src/main/org/hornetq/jms/bridge/impl/JNDIConnectionFactoryFactory.java
   branches/HORNETQ-515/src/main/org/hornetq/jms/client/HornetQConnectionFactory.java
   branches/HORNETQ-515/src/main/org/hornetq/jms/management/impl/JMSServerControlImpl.java
   branches/HORNETQ-515/src/main/org/hornetq/jms/server/JMSServerManager.java
   branches/HORNETQ-515/src/main/org/hornetq/jms/server/config/ConnectionFactoryConfiguration.java
   branches/HORNETQ-515/src/main/org/hornetq/jms/server/config/impl/ConnectionFactoryConfigurationImpl.java
   branches/HORNETQ-515/src/main/org/hornetq/jms/server/impl/JMSServerConfigParserImpl.java
   branches/HORNETQ-515/src/main/org/hornetq/jms/server/impl/JMSServerManagerImpl.java
   branches/HORNETQ-515/src/main/org/hornetq/ra/HornetQResourceAdapter.java
   branches/HORNETQ-515/tests/jms-tests/config/hornetq-jms.xml
   branches/HORNETQ-515/tests/jms-tests/src/org/hornetq/jms/tests/CTSMiscellaneousTest.java
   branches/HORNETQ-515/tests/jms-tests/src/org/hornetq/jms/tests/ConnectionClosedTest.java
   branches/HORNETQ-515/tests/jms-tests/src/org/hornetq/jms/tests/ConnectionFactoryTest.java
   branches/HORNETQ-515/tests/jms-tests/src/org/hornetq/jms/tests/ConnectionTest.java
   branches/HORNETQ-515/tests/jms-tests/src/org/hornetq/jms/tests/HornetQServerTestCase.java
   branches/HORNETQ-515/tests/jms-tests/src/org/hornetq/jms/tests/JMSTestCase.java
   branches/HORNETQ-515/tests/jms-tests/src/org/hornetq/jms/tests/ReferenceableTest.java
   branches/HORNETQ-515/tests/jms-tests/src/org/hornetq/jms/tests/message/JMSXDeliveryCountTest.java
   branches/HORNETQ-515/tests/jms-tests/src/org/hornetq/jms/tests/tools/container/LocalTestServer.java
   branches/HORNETQ-515/tests/joram-tests/src/org/hornetq/jms/HornetQAdmin.java
   branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/FloodServerTest.java
   branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/HornetQConnectionFactoryTest.java
   branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/bridge/BridgeTestBase.java
   branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/bridge/JMSBridgeReconnectionTest.java
   branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/bridge/JMSBridgeTest.java
   branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/client/AutoGroupingTest.java
   branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/client/GroupIDTest.java
   branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/client/PreACKJMSTest.java
   branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/client/ReSendMessageTest.java
   branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/client/SessionClosedOnRemotingConnectionFailureTest.java
   branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/client/TextMessageTest.java
   branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/cluster/JMSFailoverTest.java
   branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/divert/DivertAndACKClientTest.java
   branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/server/management/JMSUtil.java
   branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/stomp/StompTestBase.java
   branches/HORNETQ-515/tests/src/org/hornetq/tests/timing/jms/bridge/impl/JMSBridgeImplTest.java
   branches/HORNETQ-515/tests/src/org/hornetq/tests/util/JMSTestBase.java
Log:
full code changes


Modified: branches/HORNETQ-515/examples/javaee/xarecovery/server/hornetq-jms.xml
===================================================================
--- branches/HORNETQ-515/examples/javaee/xarecovery/server/hornetq-jms.xml	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/examples/javaee/xarecovery/server/hornetq-jms.xml	2010-10-10 12:15:41 UTC (rev 9762)
@@ -3,6 +3,7 @@
             xsi:schemaLocation="urn:hornetq /schema/hornetq-jms.xsd">
 
    <connection-factory name="ConnectionFactory">
+      <xa>true</xa>
       <connectors>
          <connector-ref connector-name="netty"/>
       </connectors>
@@ -16,4 +17,4 @@
    <queue name="testQueue">
       <entry name="/queue/testQueue"/>
    </queue>
-</configuration>
\ No newline at end of file
+</configuration>

Modified: branches/HORNETQ-515/examples/jms/client-kickoff/server0/hornetq-jms.xml
===================================================================
--- branches/HORNETQ-515/examples/jms/client-kickoff/server0/hornetq-jms.xml	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/examples/jms/client-kickoff/server0/hornetq-jms.xml	2010-10-10 12:15:41 UTC (rev 9762)
@@ -2,7 +2,7 @@
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="urn:hornetq /schema/hornetq-jms.xsd">
    <!--the connection factory used by the example-->
-   <connection-factory name="ConnectionFactory">
+   <connection-factory name="ConnectionFactory" signature="queue">
       <connectors>
          <connector-ref connector-name="netty"/>
       </connectors>
@@ -11,4 +11,4 @@
       </entries>
    </connection-factory>
       
-</configuration>
\ No newline at end of file
+</configuration>

Modified: branches/HORNETQ-515/examples/jms/jms-bridge/server0/hornetq-jms.xml
===================================================================
--- branches/HORNETQ-515/examples/jms/jms-bridge/server0/hornetq-jms.xml	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/examples/jms/jms-bridge/server0/hornetq-jms.xml	2010-10-10 12:15:41 UTC (rev 9762)
@@ -3,6 +3,7 @@
             xsi:schemaLocation="urn:hornetq /schema/hornetq-jms.xsd">
 
    <connection-factory name="ConnectionFactory">
+      <xa>true</xa>
       <connectors>
          <connector-ref connector-name="netty"/>
       </connectors>
@@ -11,6 +12,15 @@
       </entries>
    </connection-factory>
 
+   <connection-factory name="ClientConnectionFactory">
+      <connectors>
+         <connector-ref connector-name="netty"/>
+      </connectors>
+      <entries>
+         <entry name="/client/ConnectionFactory"/>
+      </entries>
+   </connection-factory>
+
    <topic name="topic">
       <entry name="/source/topic"/>
    </topic>

Modified: branches/HORNETQ-515/examples/jms/jms-bridge/server1/hornetq-jms.xml
===================================================================
--- branches/HORNETQ-515/examples/jms/jms-bridge/server1/hornetq-jms.xml	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/examples/jms/jms-bridge/server1/hornetq-jms.xml	2010-10-10 12:15:41 UTC (rev 9762)
@@ -3,6 +3,7 @@
             xsi:schemaLocation="urn:hornetq /schema/hornetq-jms.xsd">
 
    <connection-factory name="ConnectionFactory">
+      <xa>true</xa>
       <connectors>
          <connector-ref connector-name="netty"/>
       </connectors>
@@ -11,6 +12,15 @@
       </entries>
    </connection-factory>
 
+   <connection-factory name="ClientConnectionFactory">
+      <connectors>
+         <connector-ref connector-name="netty"/>
+      </connectors>
+      <entries>
+         <entry name="/client/ConnectionFactory"/>
+      </entries>
+   </connection-factory>
+
    <queue name="target">
       <entry name="/target/queue"/>
    </queue>

Modified: branches/HORNETQ-515/examples/jms/jms-bridge/src/org/hornetq/jms/example/JMSBridgeExample.java
===================================================================
--- branches/HORNETQ-515/examples/jms/jms-bridge/src/org/hornetq/jms/example/JMSBridgeExample.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/examples/jms/jms-bridge/src/org/hornetq/jms/example/JMSBridgeExample.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -55,7 +55,7 @@
       try
       {
          // Step 2. Lookup the *source* JMS resources
-         ConnectionFactory sourceConnectionFactory = (ConnectionFactory)sourceContext.lookup("/source/ConnectionFactory");
+         ConnectionFactory sourceConnectionFactory = (ConnectionFactory)sourceContext.lookup("/client/ConnectionFactory");
          Topic sourceTopic = (Topic)sourceContext.lookup("/source/topic");
 
          // Step 3. Create a connection, a session and a message producer for the *source* topic
@@ -75,7 +75,7 @@
          sourceConnection.close();
 
          // Step 6. Lookup the *target* JMS resources
-         ConnectionFactory targetConnectionFactory = (ConnectionFactory)targetContext.lookup("/target/ConnectionFactory");
+         ConnectionFactory targetConnectionFactory = (ConnectionFactory)targetContext.lookup("/client/ConnectionFactory");
          Queue targetQueue = (Queue)targetContext.lookup("/target/queue");
 
          // Step 7. Create a connection, a session and a message consumer for the *target* queue

Modified: branches/HORNETQ-515/examples/jms/jmx/server0/hornetq-jms.xml
===================================================================
--- branches/HORNETQ-515/examples/jms/jmx/server0/hornetq-jms.xml	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/examples/jms/jmx/server0/hornetq-jms.xml	2010-10-10 12:15:41 UTC (rev 9762)
@@ -2,7 +2,7 @@
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="urn:hornetq /schema/hornetq-jms.xsd">
    <!--the connection factory used by the example-->
-   <connection-factory name="ConnectionFactory">
+   <connection-factory name="ConnectionFactory" signature="queue">
       <connectors>
          <connector-ref connector-name="netty"/>
       </connectors>
@@ -16,4 +16,4 @@
       <entry name="/queue/exampleQueue"/>
    </queue>
 
-</configuration>
\ No newline at end of file
+</configuration>

Modified: branches/HORNETQ-515/examples/jms/management/server0/hornetq-jms.xml
===================================================================
--- branches/HORNETQ-515/examples/jms/management/server0/hornetq-jms.xml	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/examples/jms/management/server0/hornetq-jms.xml	2010-10-10 12:15:41 UTC (rev 9762)
@@ -2,7 +2,7 @@
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="urn:hornetq /schema/hornetq-jms.xsd">
    <!--the connection factory used by the example-->
-   <connection-factory name="ConnectionFactory">
+   <connection-factory name="ConnectionFactory" signature="queue">
       <connectors>
          <connector-ref connector-name="netty"/>
       </connectors>
@@ -15,4 +15,4 @@
    <queue name="exampleQueue">
       <entry name="/queue/exampleQueue"/>
    </queue>
-</configuration>
\ No newline at end of file
+</configuration>

Modified: branches/HORNETQ-515/examples/jms/message-counters/server0/hornetq-jms.xml
===================================================================
--- branches/HORNETQ-515/examples/jms/message-counters/server0/hornetq-jms.xml	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/examples/jms/message-counters/server0/hornetq-jms.xml	2010-10-10 12:15:41 UTC (rev 9762)
@@ -2,7 +2,7 @@
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="urn:hornetq /schema/hornetq-jms.xsd">
    <!--the connection factory used by the example-->
-   <connection-factory name="ConnectionFactory">
+   <connection-factory name="ConnectionFactory" signature="queue">
       <connectors>
          <connector-ref connector-name="netty-connector"/>
       </connectors>
@@ -21,4 +21,4 @@
       <entry name="/queue/expiryQueue"/>
    </queue>
 
-</configuration>
\ No newline at end of file
+</configuration>

Modified: branches/HORNETQ-515/examples/jms/queue-requestor/server0/hornetq-jms.xml
===================================================================
--- branches/HORNETQ-515/examples/jms/queue-requestor/server0/hornetq-jms.xml	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/examples/jms/queue-requestor/server0/hornetq-jms.xml	2010-10-10 12:15:41 UTC (rev 9762)
@@ -2,7 +2,7 @@
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="urn:hornetq /schema/hornetq-jms.xsd">
    <!--the connection factory used by the example-->
-   <connection-factory name="ConnectionFactory">
+   <connection-factory name="ConnectionFactory" signature="queue">
       <connectors>
          <connector-ref connector-name="netty-connector"/>
       </connectors>
@@ -16,4 +16,4 @@
       <entry name="/queue/exampleQueue"/>
    </queue>
 
-</configuration>
\ No newline at end of file
+</configuration>

Modified: branches/HORNETQ-515/examples/jms/symmetric-cluster/src/org/hornetq/jms/example/SymmetricClusterExample.java
===================================================================
--- branches/HORNETQ-515/examples/jms/symmetric-cluster/src/org/hornetq/jms/example/SymmetricClusterExample.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/examples/jms/symmetric-cluster/src/org/hornetq/jms/example/SymmetricClusterExample.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -23,6 +23,7 @@
 
 import org.hornetq.api.jms.HornetQJMSClient;
 import org.hornetq.common.example.HornetQExample;
+import org.hornetq.jms.server.impl.JMSFactoryType;
 
 /**
  * This example demonstrates a cluster of three nodes set up in a symmetric topology - i.e. each node
@@ -79,7 +80,7 @@
          // connection factory directly we avoid having to worry about a JNDI look-up.
          // In an app server environment you could use HA-JNDI to lookup from the clustered JNDI servers without
          // having to know about a specific one.
-         ConnectionFactory cf = HornetQJMSClient.createConnectionFactory("231.7.7.7", 9876);
+         ConnectionFactory cf = (ConnectionFactory)HornetQJMSClient.createConnectionFactory("231.7.7.7", 9876, JMSFactoryType.CF);
 
          // We give a little while for each server to broadcast its whereabouts to the client
          Thread.sleep(2000);

Modified: branches/HORNETQ-515/examples/jms/xa-heuristic/server0/hornetq-jms.xml
===================================================================
--- branches/HORNETQ-515/examples/jms/xa-heuristic/server0/hornetq-jms.xml	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/examples/jms/xa-heuristic/server0/hornetq-jms.xml	2010-10-10 12:15:41 UTC (rev 9762)
@@ -3,6 +3,7 @@
             xsi:schemaLocation="urn:hornetq /schema/hornetq-jms.xsd">
    <!--the connection factory used by the example-->
    <connection-factory name="ConnectionFactory">
+      <xa>true</xa>
       <connectors>
          <connector-ref connector-name="netty-connector"/>
       </connectors>
@@ -16,4 +17,4 @@
       <entry name="/queue/exampleQueue"/>
    </queue>
 
-</configuration>
\ No newline at end of file
+</configuration>

Modified: branches/HORNETQ-515/examples/jms/xa-receive/server0/hornetq-jms.xml
===================================================================
--- branches/HORNETQ-515/examples/jms/xa-receive/server0/hornetq-jms.xml	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/examples/jms/xa-receive/server0/hornetq-jms.xml	2010-10-10 12:15:41 UTC (rev 9762)
@@ -3,6 +3,7 @@
             xsi:schemaLocation="urn:hornetq /schema/hornetq-jms.xsd">
    <!--the connection factory used by the example-->
    <connection-factory name="ConnectionFactory">
+      <xa>true</xa>
       <connectors>
          <connector-ref connector-name="netty-connector"/>
       </connectors>
@@ -16,4 +17,4 @@
       <entry name="/queue/exampleQueue"/>
    </queue>
 
-</configuration>
\ No newline at end of file
+</configuration>

Modified: branches/HORNETQ-515/examples/jms/xa-send/server0/hornetq-jms.xml
===================================================================
--- branches/HORNETQ-515/examples/jms/xa-send/server0/hornetq-jms.xml	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/examples/jms/xa-send/server0/hornetq-jms.xml	2010-10-10 12:15:41 UTC (rev 9762)
@@ -3,6 +3,7 @@
             xsi:schemaLocation="urn:hornetq /schema/hornetq-jms.xsd">
    <!--the connection factory used by the example-->
    <connection-factory name="ConnectionFactory">
+      <xa>true</xa>
       <connectors>
          <connector-ref connector-name="netty-connector"/>
       </connectors>
@@ -16,4 +17,4 @@
       <entry name="/queue/exampleQueue"/>
    </queue>
 
-</configuration>
\ No newline at end of file
+</configuration>

Modified: branches/HORNETQ-515/examples/jms/xa-with-jta/server0/hornetq-jms.xml
===================================================================
--- branches/HORNETQ-515/examples/jms/xa-with-jta/server0/hornetq-jms.xml	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/examples/jms/xa-with-jta/server0/hornetq-jms.xml	2010-10-10 12:15:41 UTC (rev 9762)
@@ -3,6 +3,7 @@
             xsi:schemaLocation="urn:hornetq /schema/hornetq-jms.xsd">
    <!--the connection factory used by the example-->
    <connection-factory name="ConnectionFactory">
+      <xa>true</xa>
       <connectors>
          <connector-ref connector-name="netty-connector"/>
       </connectors>
@@ -16,4 +17,4 @@
       <entry name="/queue/exampleQueue"/>
    </queue>
 
-</configuration>
\ No newline at end of file
+</configuration>

Modified: branches/HORNETQ-515/examples/soak/tx-restarts/server0/hornetq-jms.xml
===================================================================
--- branches/HORNETQ-515/examples/soak/tx-restarts/server0/hornetq-jms.xml	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/examples/soak/tx-restarts/server0/hornetq-jms.xml	2010-10-10 12:15:41 UTC (rev 9762)
@@ -3,6 +3,7 @@
             xsi:schemaLocation="urn:hornetq /schema/hornetq-jms.xsd">
    <!--the connection factory used by the example-->
    <connection-factory name="ConnectionFactory">
+      <xa>true</xa>
       <connectors>
          <connector-ref connector-name="netty-connector"/>
       </connectors>

Modified: branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/main/java/org/hornetq/rest/integration/HornetqBootstrapListener.java
===================================================================
--- branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/main/java/org/hornetq/rest/integration/HornetqBootstrapListener.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/main/java/org/hornetq/rest/integration/HornetqBootstrapListener.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -14,7 +14,6 @@
 {
    private EmbeddedJMS jms;
 
-   @Override
    public void contextInitialized(ServletContextEvent contextEvent)
    {
       ServletContext context = contextEvent.getServletContext();
@@ -30,7 +29,6 @@
       }
    }
 
-   @Override
    public void contextDestroyed(ServletContextEvent servletContextEvent)
    {
       try

Modified: branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/main/java/org/hornetq/rest/integration/RestMessagingBootstrapListener.java
===================================================================
--- branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/main/java/org/hornetq/rest/integration/RestMessagingBootstrapListener.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/main/java/org/hornetq/rest/integration/RestMessagingBootstrapListener.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -16,7 +16,6 @@
 {
    MessageServiceManager manager;
 
-   @Override
    public void contextInitialized(ServletContextEvent contextEvent)
    {
       ServletContext context = contextEvent.getServletContext();
@@ -44,7 +43,6 @@
       }
    }
 
-   @Override
    public void contextDestroyed(ServletContextEvent servletContextEvent)
    {
       if (manager != null)

Modified: branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/main/java/org/hornetq/rest/integration/ServletContextBindingRegistry.java
===================================================================
--- branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/main/java/org/hornetq/rest/integration/ServletContextBindingRegistry.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/main/java/org/hornetq/rest/integration/ServletContextBindingRegistry.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -17,37 +17,31 @@
       this.servletContext = servletContext;
    }
 
-   @Override
    public Object lookup(String name)
    {
       return servletContext.getAttribute(name);
    }
 
-   @Override
    public boolean bind(String name, Object obj)
    {
       servletContext.setAttribute(name, obj);
       return true;
    }
 
-   @Override
    public void unbind(String name)
    {
       servletContext.removeAttribute(name);
    }
 
-   @Override
    public void close()
    {
    }
 
-   @Override
    public Object getContext()
    {
       return servletContext;
    }
 
-   @Override
    public void setContext(Object o)
    {
       servletContext = (ServletContext)o;

Modified: branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/main/java/org/hornetq/rest/queue/ConsumersResource.java
===================================================================
--- branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/main/java/org/hornetq/rest/queue/ConsumersResource.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/main/java/org/hornetq/rest/queue/ConsumersResource.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -78,7 +78,6 @@
 
    private Object timeoutLock = new Object();
 
-   @Override
    public void testTimeout(String target)
    {
       synchronized (timeoutLock)

Modified: branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/main/java/org/hornetq/rest/queue/push/FilePushStore.java
===================================================================
--- branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/main/java/org/hornetq/rest/queue/push/FilePushStore.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/main/java/org/hornetq/rest/queue/push/FilePushStore.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -57,7 +57,6 @@
       return list;
    }
 
-   @Override
    public synchronized List<PushRegistration> getByDestination(String destination)
    {
       List<PushRegistration> list = new ArrayList<PushRegistration>();
@@ -71,7 +70,6 @@
       return list;
    }
 
-   @Override
    public synchronized void update(PushRegistration reg) throws Exception
    {
       if (reg.getLoadedFrom() == null) return;
@@ -86,7 +84,6 @@
       marshaller.marshal(reg, (File) reg.getLoadedFrom());
    }
 
-   @Override
    public synchronized void add(PushRegistration reg) throws Exception
    {
       map.put(reg.getId(), reg);
@@ -97,7 +94,6 @@
       save(reg);
    }
 
-   @Override
    public synchronized void remove(PushRegistration reg) throws Exception
    {
       map.remove(reg.getId());
@@ -106,7 +102,6 @@
       fp.delete();
    }
 
-   @Override
    public synchronized void removeAll() throws Exception
    {
       ArrayList<PushRegistration> copy = new ArrayList<PushRegistration>();

Modified: branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/main/java/org/hornetq/rest/queue/push/PushConsumer.java
===================================================================
--- branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/main/java/org/hornetq/rest/queue/push/PushConsumer.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/main/java/org/hornetq/rest/queue/push/PushConsumer.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -100,7 +100,6 @@
       }
    }
 
-   @Override
    public void onMessage(ClientMessage clientMessage)
    {
       if (strategy.push(clientMessage) == false)

Modified: branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/main/java/org/hornetq/rest/queue/push/UriStrategy.java
===================================================================
--- branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/main/java/org/hornetq/rest/queue/push/UriStrategy.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/main/java/org/hornetq/rest/queue/push/UriStrategy.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -30,7 +30,6 @@
    protected String method;
    protected String contentType;
 
-   @Override
    public void setRegistration(PushRegistration reg)
    {
       this.registration = reg;
@@ -63,12 +62,10 @@
       }
    }
 
-   @Override
    public void stop()
    {
    }
 
-   @Override
    public boolean push(ClientMessage message)
    {
       String uri = createUri(message);

Modified: branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/main/java/org/hornetq/rest/topic/FileTopicPushStore.java
===================================================================
--- branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/main/java/org/hornetq/rest/topic/FileTopicPushStore.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/main/java/org/hornetq/rest/topic/FileTopicPushStore.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -18,7 +18,6 @@
       super(dirname);
    }
 
-   @Override
    public synchronized List<PushTopicRegistration> getByTopic(String topic)
    {
       List<PushTopicRegistration> list = new ArrayList<PushTopicRegistration>();

Modified: branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/main/java/org/hornetq/rest/topic/SubscriptionsResource.java
===================================================================
--- branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/main/java/org/hornetq/rest/topic/SubscriptionsResource.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/main/java/org/hornetq/rest/topic/SubscriptionsResource.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -84,7 +84,6 @@
 
    private Object timeoutLock = new Object();
 
-   @Override
    public void testTimeout(String target)
    {
       synchronized (timeoutLock)

Modified: branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/main/java/org/hornetq/rest/util/CustomHeaderLinkStrategy.java
===================================================================
--- branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/main/java/org/hornetq/rest/util/CustomHeaderLinkStrategy.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/main/java/org/hornetq/rest/util/CustomHeaderLinkStrategy.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -8,7 +8,6 @@
  */
 public class CustomHeaderLinkStrategy implements LinkStrategy
 {
-   @Override
    public void setLinkHeader(Response.ResponseBuilder builder, String title, String rel, String href, String type)
    {
       String headerName = null;

Modified: branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/main/java/org/hornetq/rest/util/TimeoutTask.java
===================================================================
--- branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/main/java/org/hornetq/rest/util/TimeoutTask.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/main/java/org/hornetq/rest/util/TimeoutTask.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -58,7 +58,6 @@
       thread.start();
    }
 
-   @Override
    public void run()
    {
       while (running)

Modified: branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/test/java/org/hornetq/rest/test/JMSTest.java
===================================================================
--- branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/test/java/org/hornetq/rest/test/JMSTest.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/test/java/org/hornetq/rest/test/JMSTest.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -2,6 +2,7 @@
 
 import org.hornetq.jms.client.HornetQConnectionFactory;
 import org.hornetq.jms.client.HornetQDestination;
+import org.hornetq.jms.client.HornetQJMSConnectionFactory;
 import org.hornetq.rest.HttpHeaderProperty;
 import org.hornetq.rest.Jms;
 import org.hornetq.rest.queue.QueueDeployment;
@@ -39,7 +40,7 @@
    @BeforeClass
    public static void setup() throws Exception
    {
-      connectionFactory = new HornetQConnectionFactory(manager.getQueueManager().getSessionFactory());
+      connectionFactory = new HornetQJMSConnectionFactory(manager.getQueueManager().getSessionFactory());
    }
 
    @XmlRootElement
@@ -128,7 +129,6 @@
       public static Order order;
       public static CountDownLatch latch = new CountDownLatch(1);
 
-      @Override
       public void onMessage(Message message)
       {
          try

Modified: branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/test/java/org/hornetq/rest/test/RawRestartTest.java
===================================================================
--- branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/test/java/org/hornetq/rest/test/RawRestartTest.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/test/java/org/hornetq/rest/test/RawRestartTest.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -80,7 +80,6 @@
 
    private static class MyListener implements MessageHandler
    {
-      @Override
       public void onMessage(ClientMessage message)
       {
          int size = message.getBodyBuffer().readInt();

Modified: branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/test/java/org/hornetq/rest/test/TransformTest.java
===================================================================
--- branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/test/java/org/hornetq/rest/test/TransformTest.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/hornetq-rest/hornetq-rest/src/test/java/org/hornetq/rest/test/TransformTest.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -180,7 +180,6 @@
       public static Order order;
       public static CountDownLatch latch = new CountDownLatch(1);
 
-      @Override
       public void onMessage(ClientMessage clientMessage)
       {
          System.out.println("onMessage!");

Modified: branches/HORNETQ-515/src/config/common/schema/hornetq-jms.xsd
===================================================================
--- branches/HORNETQ-515/src/config/common/schema/hornetq-jms.xsd	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/src/config/common/schema/hornetq-jms.xsd	2010-10-10 12:15:41 UTC (rev 9762)
@@ -26,6 +26,7 @@
    <xsd:element name="connection-factory">
    	<xsd:complexType>
    		<xsd:all>
+           	<xsd:element name="xa" type="xsd:boolean" maxOccurs="1" minOccurs="0"></xsd:element>
            	<xsd:element name="discovery-group-ref" type="discovery-group-refType" maxOccurs="1" minOccurs="0"></xsd:element>
            	<xsd:element name="discovery-initial-wait-timeout" type="xsd:long" maxOccurs="1" minOccurs="0"></xsd:element>
 	
@@ -135,6 +136,7 @@
             </xsd:element>
    		</xsd:all>
    		<xsd:attribute name="name" type="xsd:string"></xsd:attribute>
+   		<xsd:attribute name="signature" type="xsd:string"></xsd:attribute>
    	</xsd:complexType>
    </xsd:element>
 

Modified: branches/HORNETQ-515/src/main/org/hornetq/api/core/client/HornetQClient.java
===================================================================
--- branches/HORNETQ-515/src/main/org/hornetq/api/core/client/HornetQClient.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/src/main/org/hornetq/api/core/client/HornetQClient.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -91,6 +91,8 @@
    public static final boolean DEFAULT_CACHE_LARGE_MESSAGE_CLIENT = false;
 
    public static final int DEFAULT_INITIAL_MESSAGE_PACKET_SIZE = 1500;
+
+   public static final boolean DEFAULT_XA = false;
    
    /**
     * Creates a ClientSessionFactory using all the defaults.

Modified: branches/HORNETQ-515/src/main/org/hornetq/api/jms/HornetQJMSClient.java
===================================================================
--- branches/HORNETQ-515/src/main/org/hornetq/api/jms/HornetQJMSClient.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/src/main/org/hornetq/api/jms/HornetQJMSClient.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -23,6 +23,13 @@
 import org.hornetq.core.logging.Logger;
 import org.hornetq.jms.client.HornetQConnectionFactory;
 import org.hornetq.jms.client.HornetQDestination;
+import org.hornetq.jms.client.HornetQJMSConnectionFactory;
+import org.hornetq.jms.client.HornetQQueueConnectionFactory;
+import org.hornetq.jms.client.HornetQTopicConnectionFactory;
+import org.hornetq.jms.client.HornetQXAConnectionFactory;
+import org.hornetq.jms.client.HornetQXAQueueConnectionFactory;
+import org.hornetq.jms.client.HornetQXATopicConnectionFactory;
+import org.hornetq.jms.server.impl.JMSFactoryType;
 
 /**
  * A utility class for creating HornetQ client-side JMS managed resources.
@@ -49,9 +56,9 @@
     * @param sessionFactory The underlying ClientSessionFactory to use.
     * @return The HornetQConnectionFactory.
     */
-   public static HornetQConnectionFactory createConnectionFactory(final ClientSessionFactory sessionFactory)
+   public static HornetQJMSConnectionFactory createConnectionFactory(final ClientSessionFactory sessionFactory)
    {
-      return new HornetQConnectionFactory(sessionFactory);
+      return new HornetQJMSConnectionFactory(sessionFactory);
    }
 
    /**
@@ -59,11 +66,38 @@
     *
     * @param discoveryAddress The address to use for discovery.
     * @param discoveryPort The port to use for discovery.
+    * @param jmsFactoryType 
     * @return The HornetQConnectionFactory.
     */
-   public static HornetQConnectionFactory createConnectionFactory(final String discoveryAddress, final int discoveryPort)
+   public static HornetQConnectionFactory createConnectionFactory(final String discoveryAddress, final int discoveryPort, JMSFactoryType jmsFactoryType)
    {
-      return new HornetQConnectionFactory(discoveryAddress, discoveryPort);
+      HornetQConnectionFactory factory = null;
+      if (jmsFactoryType.equals(JMSFactoryType.CF))
+      {
+         factory = new HornetQJMSConnectionFactory(discoveryAddress, discoveryPort);
+      }
+      else if (jmsFactoryType.equals(JMSFactoryType.QUEUE_CF))
+      {
+         factory = new HornetQQueueConnectionFactory(discoveryAddress, discoveryPort);
+      }
+      else if (jmsFactoryType.equals(JMSFactoryType.TOPIC_CF))
+      {
+         factory = new HornetQTopicConnectionFactory(discoveryAddress, discoveryPort);
+      }
+      else if (jmsFactoryType.equals(JMSFactoryType.XA_CF))
+      {
+         factory = new HornetQXAConnectionFactory(discoveryAddress, discoveryPort);
+      }
+      else if (jmsFactoryType.equals(JMSFactoryType.QUEUE_XA_CF))
+      {
+         factory = new HornetQXAQueueConnectionFactory(discoveryAddress, discoveryPort);
+      }
+      else if (jmsFactoryType.equals(JMSFactoryType.TOPIC_XA_CF))
+      {
+         factory = new HornetQXATopicConnectionFactory(discoveryAddress, discoveryPort);
+      }
+      
+      return factory;
    }
 
    /**
@@ -72,22 +106,75 @@
     * @param staticConnectors The list of TransportConfiguration to use.
     * @return The HornetQConnectionFactory.
     */
-   public static HornetQConnectionFactory createConnectionFactory(final List<Pair<TransportConfiguration, TransportConfiguration>> staticConnectors)
+   public static HornetQConnectionFactory createConnectionFactory(final List<Pair<TransportConfiguration, TransportConfiguration>> staticConnectors, 
+                                                                  final JMSFactoryType jmsFactoryType)
    {
-      return new HornetQConnectionFactory(staticConnectors);
+      HornetQConnectionFactory factory = null;
+      if (jmsFactoryType.equals(JMSFactoryType.CF))
+      {
+         factory = new HornetQJMSConnectionFactory(staticConnectors);
+      }
+      else if (jmsFactoryType.equals(JMSFactoryType.QUEUE_CF))
+      {
+         factory = new HornetQQueueConnectionFactory(staticConnectors);
+      }
+      else if (jmsFactoryType.equals(JMSFactoryType.TOPIC_CF))
+      {
+         factory = new HornetQTopicConnectionFactory(staticConnectors);
+      }
+      else if (jmsFactoryType.equals(JMSFactoryType.XA_CF))
+      {
+         factory = new HornetQXAConnectionFactory(staticConnectors);
+      }
+      else if (jmsFactoryType.equals(JMSFactoryType.QUEUE_XA_CF))
+      {
+         factory = new HornetQXAQueueConnectionFactory(staticConnectors);
+      }
+      else if (jmsFactoryType.equals(JMSFactoryType.TOPIC_XA_CF))
+      {
+         factory = new HornetQXATopicConnectionFactory(staticConnectors);
+      }
+      
+      return factory;
    }
 
    /**
     * Creates a HornetQConnectionFactory using a single pair of live-backup TransportConfiguration.
     *
-    * @param connectorConfig The TransportConfiguration of the server to connect to.
-    * @param backupConnectorConfig The TransportConfiguration of the backup server to connect to. can be null.
+    * @param connectorConfigs The TransportConfiguration of the server to connect to.
     * @return The HornetQConnectionFactory.
     */
    public static HornetQConnectionFactory createConnectionFactory(final TransportConfiguration connectorConfig,
-                                   final TransportConfiguration backupConnectorConfig)
+                                                                  final TransportConfiguration backupConnectorConfig,
+                                                                  final JMSFactoryType jmsFactoryType)
    {
-      return new HornetQConnectionFactory(connectorConfig, backupConnectorConfig);
+      HornetQConnectionFactory factory = null;
+      if (jmsFactoryType.equals(JMSFactoryType.CF))
+      {
+         factory = new HornetQJMSConnectionFactory(connectorConfig, backupConnectorConfig);
+      }
+      else if (jmsFactoryType.equals(JMSFactoryType.QUEUE_CF))
+      {
+         factory = new HornetQQueueConnectionFactory(connectorConfig, backupConnectorConfig);
+      }
+      else if (jmsFactoryType.equals(JMSFactoryType.TOPIC_CF))
+      {
+         factory = new HornetQTopicConnectionFactory(connectorConfig, backupConnectorConfig);
+      }
+      else if (jmsFactoryType.equals(JMSFactoryType.XA_CF))
+      {
+         factory = new HornetQXAConnectionFactory(connectorConfig, backupConnectorConfig);
+      }
+      else if (jmsFactoryType.equals(JMSFactoryType.QUEUE_XA_CF))
+      {
+         factory = new HornetQXAQueueConnectionFactory(connectorConfig, backupConnectorConfig);
+      }
+      else if (jmsFactoryType.equals(JMSFactoryType.TOPIC_XA_CF))
+      {
+         factory = new HornetQXATopicConnectionFactory(connectorConfig, backupConnectorConfig);
+      }
+      
+      return factory;
    }
 
    /**
@@ -96,11 +183,16 @@
     * @param connectorConfig The TransportConfiguration of the server.
     * @return The HornetQConnectionFactory.
     */
-   public static HornetQConnectionFactory createConnectionFactory(final TransportConfiguration connectorConfig)
+   public static HornetQJMSConnectionFactory createConnectionFactory(final TransportConfiguration connectorConfig)
    {
-      return new HornetQConnectionFactory(connectorConfig);
+      return new HornetQJMSConnectionFactory(connectorConfig);
    }
 
+   public static HornetQXAConnectionFactory createXAConnectionFactory(final TransportConfiguration connectorConfig)
+   {
+      return new HornetQXAConnectionFactory(connectorConfig);
+   }
+
    /**
     * Creates a client-side representation of a JMS Topic.
     *

Modified: branches/HORNETQ-515/src/main/org/hornetq/jms/bridge/ConnectionFactoryFactory.java
===================================================================
--- branches/HORNETQ-515/src/main/org/hornetq/jms/bridge/ConnectionFactoryFactory.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/src/main/org/hornetq/jms/bridge/ConnectionFactoryFactory.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -13,8 +13,6 @@
 
 package org.hornetq.jms.bridge;
 
-import javax.jms.ConnectionFactory;
-
 /**
  * A ConnectionFactoryFactory
  *
@@ -26,5 +24,5 @@
  */
 public interface ConnectionFactoryFactory
 {
-   ConnectionFactory createConnectionFactory() throws Exception;
+   Object createConnectionFactory() throws Exception;
 }

Modified: branches/HORNETQ-515/src/main/org/hornetq/jms/bridge/impl/JMSBridgeImpl.java
===================================================================
--- branches/HORNETQ-515/src/main/org/hornetq/jms/bridge/impl/JMSBridgeImpl.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/src/main/org/hornetq/jms/bridge/impl/JMSBridgeImpl.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -969,7 +969,7 @@
    {
       Connection conn;
 
-      ConnectionFactory cf = cff.createConnectionFactory();
+      Object cf = cff.createConnectionFactory();
 
       if (qualityOfServiceMode == QualityOfServiceMode.ONCE_AND_ONLY_ONCE && !(cf instanceof XAConnectionFactory))
       {
@@ -992,7 +992,7 @@
             {
                JMSBridgeImpl.log.trace("Creating a non XA connection");
             }
-            conn = cf.createConnection();
+            conn = ((ConnectionFactory)cf).createConnection();
          }
       }
       else
@@ -1011,7 +1011,7 @@
             {
                JMSBridgeImpl.log.trace("Creating a non XA connection");
             }
-            conn = cf.createConnection(username, password);
+            conn = ((ConnectionFactory)cf).createConnection(username, password);
          }
       }
 

Modified: branches/HORNETQ-515/src/main/org/hornetq/jms/bridge/impl/JNDIConnectionFactoryFactory.java
===================================================================
--- branches/HORNETQ-515/src/main/org/hornetq/jms/bridge/impl/JNDIConnectionFactoryFactory.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/src/main/org/hornetq/jms/bridge/impl/JNDIConnectionFactoryFactory.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -15,8 +15,6 @@
 
 import java.util.Hashtable;
 
-import javax.jms.ConnectionFactory;
-
 import org.hornetq.jms.bridge.ConnectionFactoryFactory;
 
 
@@ -36,9 +34,9 @@
       super(jndiProperties, lookup);
    }
 
-   public ConnectionFactory createConnectionFactory() throws Exception
+   public Object createConnectionFactory() throws Exception
    {
-      return (ConnectionFactory)createObject();
+      return createObject();
    }
 
 }

Modified: branches/HORNETQ-515/src/main/org/hornetq/jms/client/HornetQConnectionFactory.java
===================================================================
--- branches/HORNETQ-515/src/main/org/hornetq/jms/client/HornetQConnectionFactory.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/src/main/org/hornetq/jms/client/HornetQConnectionFactory.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -17,18 +17,12 @@
 import java.util.List;
 
 import javax.jms.Connection;
-import javax.jms.ConnectionFactory;
 import javax.jms.JMSException;
 import javax.jms.QueueConnection;
-import javax.jms.QueueConnectionFactory;
 import javax.jms.TopicConnection;
-import javax.jms.TopicConnectionFactory;
 import javax.jms.XAConnection;
-import javax.jms.XAConnectionFactory;
 import javax.jms.XAQueueConnection;
-import javax.jms.XAQueueConnectionFactory;
 import javax.jms.XATopicConnection;
-import javax.jms.XATopicConnectionFactory;
 import javax.naming.NamingException;
 import javax.naming.Reference;
 import javax.naming.Referenceable;
@@ -48,8 +42,7 @@
  * @author <a href="mailto:tim.fox at jboss.com">Tim Fox</a>
  * @version <tt>$Revision$</tt> $Id$
  */
-public class HornetQConnectionFactory implements ConnectionFactory, QueueConnectionFactory, TopicConnectionFactory,
-         XAConnectionFactory, XAQueueConnectionFactory, XATopicConnectionFactory, Serializable, Referenceable
+public class HornetQConnectionFactory implements Serializable, Referenceable
 {
    // Constants ------------------------------------------------------------------------------------
 

Added: branches/HORNETQ-515/src/main/org/hornetq/jms/client/HornetQJMSConnectionFactory.java
===================================================================
--- branches/HORNETQ-515/src/main/org/hornetq/jms/client/HornetQJMSConnectionFactory.java	                        (rev 0)
+++ branches/HORNETQ-515/src/main/org/hornetq/jms/client/HornetQJMSConnectionFactory.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -0,0 +1,60 @@
+/*
+ * Copyright 2009 Red Hat, Inc.
+ * Red Hat 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.
+ */
+
+package org.hornetq.jms.client;
+
+import java.util.List;
+
+import javax.jms.ConnectionFactory;
+
+import org.hornetq.api.core.Pair;
+import org.hornetq.api.core.TransportConfiguration;
+import org.hornetq.api.core.client.ClientSessionFactory;
+
+
+/**
+ * A class that represents a ConnectionFactory.
+ * 
+ * @author <a href="mailto:hgao at redhat.com">Howard Gao</a>
+ */
+public class HornetQJMSConnectionFactory extends HornetQConnectionFactory implements ConnectionFactory
+{
+
+   private final static long serialVersionUID = -2810634789345348326L;
+
+   public HornetQJMSConnectionFactory(TransportConfiguration transportConfiguration)
+   {
+      super(transportConfiguration);
+   }
+
+   public HornetQJMSConnectionFactory(ClientSessionFactory sessionFactory)
+   {
+      super(sessionFactory);
+   }
+
+   public HornetQJMSConnectionFactory(String discoveryAddress, int discoveryPort)
+   {
+      super(discoveryAddress, discoveryPort);
+   }
+
+   public HornetQJMSConnectionFactory(List<Pair<TransportConfiguration, TransportConfiguration>> connectorConfigs)
+   {
+      super(connectorConfigs);
+   }
+
+   public HornetQJMSConnectionFactory(TransportConfiguration connectorConfig,
+                                      TransportConfiguration backupConnectorConfig)
+   {
+      super(connectorConfig, backupConnectorConfig);
+   }
+}

Added: branches/HORNETQ-515/src/main/org/hornetq/jms/client/HornetQQueueConnectionFactory.java
===================================================================
--- branches/HORNETQ-515/src/main/org/hornetq/jms/client/HornetQQueueConnectionFactory.java	                        (rev 0)
+++ branches/HORNETQ-515/src/main/org/hornetq/jms/client/HornetQQueueConnectionFactory.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -0,0 +1,49 @@
+/*
+ * Copyright 2010 Red Hat, Inc.
+ * Red Hat 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.
+ */
+
+package org.hornetq.jms.client;
+
+import java.util.List;
+
+import javax.jms.QueueConnectionFactory;
+
+import org.hornetq.api.core.Pair;
+import org.hornetq.api.core.TransportConfiguration;
+
+
+/**
+ * A class that represents a QueueConnectionFactory.
+ * 
+ * @author <a href="mailto:hgao at redhat.com">Howard Gao</a>
+ *
+ */
+public class HornetQQueueConnectionFactory extends HornetQConnectionFactory implements QueueConnectionFactory
+{
+   private static final long serialVersionUID = 5312455021322463546L;
+
+   public HornetQQueueConnectionFactory(String discoveryAddress, int discoveryPort)
+   {
+      super(discoveryAddress, discoveryPort);
+   }
+
+   public HornetQQueueConnectionFactory(List<Pair<TransportConfiguration, TransportConfiguration>> connectorConfigs)
+   {
+      super(connectorConfigs);
+   }
+
+   public HornetQQueueConnectionFactory(TransportConfiguration connectorConfig,
+                                        TransportConfiguration backupConnectorConfig)
+   {
+      super(connectorConfig, backupConnectorConfig);
+   }
+}

Added: branches/HORNETQ-515/src/main/org/hornetq/jms/client/HornetQTopicConnectionFactory.java
===================================================================
--- branches/HORNETQ-515/src/main/org/hornetq/jms/client/HornetQTopicConnectionFactory.java	                        (rev 0)
+++ branches/HORNETQ-515/src/main/org/hornetq/jms/client/HornetQTopicConnectionFactory.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -0,0 +1,49 @@
+/*
+ * Copyright 2010 Red Hat, Inc.
+ * Red Hat 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.
+ */
+
+package org.hornetq.jms.client;
+
+import java.util.List;
+
+import javax.jms.TopicConnectionFactory;
+
+import org.hornetq.api.core.Pair;
+import org.hornetq.api.core.TransportConfiguration;
+
+
+/**
+ * A class that represents a TopicConnectionFactory.
+ * 
+ * @author <a href="mailto:hgao at redhat.com">Howard Gao</a>
+ *
+ */
+public class HornetQTopicConnectionFactory extends HornetQConnectionFactory implements TopicConnectionFactory
+{
+   private static final long serialVersionUID = 7317051989866548455L;
+
+   public HornetQTopicConnectionFactory(String discoveryAddress, int discoveryPort)
+   {
+      super(discoveryAddress, discoveryPort);
+   }
+
+   public HornetQTopicConnectionFactory(List<Pair<TransportConfiguration, TransportConfiguration>> connectorConfigs)
+   {
+      super(connectorConfigs);
+   }
+
+   public HornetQTopicConnectionFactory(TransportConfiguration connectorConfig,
+                                        TransportConfiguration backupConnectorConfig)
+   {
+      super(connectorConfig, backupConnectorConfig);
+   }
+}

Added: branches/HORNETQ-515/src/main/org/hornetq/jms/client/HornetQXAConnectionFactory.java
===================================================================
--- branches/HORNETQ-515/src/main/org/hornetq/jms/client/HornetQXAConnectionFactory.java	                        (rev 0)
+++ branches/HORNETQ-515/src/main/org/hornetq/jms/client/HornetQXAConnectionFactory.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -0,0 +1,53 @@
+/*
+ * Copyright 2010 Red Hat, Inc.
+ * Red Hat 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.
+ */
+
+package org.hornetq.jms.client;
+
+import java.util.List;
+
+import javax.jms.XAConnectionFactory;
+
+import org.hornetq.api.core.Pair;
+import org.hornetq.api.core.TransportConfiguration;
+
+
+/**
+ * A class that represents a XAConnectionFactory.
+ * 
+ * @author <a href="mailto:hgao at redhat.com">Howard Gao</a>
+ */
+public class HornetQXAConnectionFactory extends HornetQConnectionFactory implements XAConnectionFactory
+{
+   private static final long serialVersionUID = 743611571839154115L;
+
+   public HornetQXAConnectionFactory(String discoveryAddress, int discoveryPort)
+   {
+      super(discoveryAddress, discoveryPort);
+   }
+
+   public HornetQXAConnectionFactory(List<Pair<TransportConfiguration, TransportConfiguration>> connectorConfigs)
+   {
+      super(connectorConfigs);
+   }
+
+   public HornetQXAConnectionFactory(TransportConfiguration connectorConfig,
+                                     TransportConfiguration backupConnectorConfig)
+   {
+      super(connectorConfig, backupConnectorConfig);
+   }
+
+   public HornetQXAConnectionFactory(TransportConfiguration connectorConfig)
+   {
+      super(connectorConfig);
+   }
+}

Added: branches/HORNETQ-515/src/main/org/hornetq/jms/client/HornetQXAQueueConnectionFactory.java
===================================================================
--- branches/HORNETQ-515/src/main/org/hornetq/jms/client/HornetQXAQueueConnectionFactory.java	                        (rev 0)
+++ branches/HORNETQ-515/src/main/org/hornetq/jms/client/HornetQXAQueueConnectionFactory.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -0,0 +1,49 @@
+/*
+ * Copyright 2010 Red Hat, Inc.
+ * Red Hat 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.
+ */
+
+package org.hornetq.jms.client;
+
+import java.util.List;
+
+import javax.jms.XAQueueConnectionFactory;
+
+import org.hornetq.api.core.Pair;
+import org.hornetq.api.core.TransportConfiguration;
+
+
+/**
+ * A class that represents a XAQueueConnectionFactory.
+ * 
+ * @author <a href="mailto:hgao at redhat.com">Howard Gao</a>
+ *
+ */
+public class HornetQXAQueueConnectionFactory extends HornetQConnectionFactory implements XAQueueConnectionFactory
+{
+   private static final long serialVersionUID = 8612457847251087454L;
+
+   public HornetQXAQueueConnectionFactory(String discoveryAddress, int discoveryPort)
+   {
+      super(discoveryAddress, discoveryPort);
+   }
+
+   public HornetQXAQueueConnectionFactory(List<Pair<TransportConfiguration, TransportConfiguration>> connectorConfigs)
+   {
+      super(connectorConfigs);
+   }
+
+   public HornetQXAQueueConnectionFactory(TransportConfiguration connectorConfig,
+                                          TransportConfiguration backupConnectorConfig)
+   {
+      super(connectorConfig, backupConnectorConfig);
+   }
+}

Added: branches/HORNETQ-515/src/main/org/hornetq/jms/client/HornetQXATopicConnectionFactory.java
===================================================================
--- branches/HORNETQ-515/src/main/org/hornetq/jms/client/HornetQXATopicConnectionFactory.java	                        (rev 0)
+++ branches/HORNETQ-515/src/main/org/hornetq/jms/client/HornetQXATopicConnectionFactory.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -0,0 +1,49 @@
+/*
+ * Copyright 2010 Red Hat, Inc.
+ * Red Hat 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.
+ */
+
+package org.hornetq.jms.client;
+
+import java.util.List;
+
+import javax.jms.XATopicConnectionFactory;
+
+import org.hornetq.api.core.Pair;
+import org.hornetq.api.core.TransportConfiguration;
+
+
+/**
+ * A class that represents a XATopicConnectionFactory.
+ * 
+ * @author <a href="mailto:hgao at redhat.com">Howard Gao</a>
+ *
+ */
+public class HornetQXATopicConnectionFactory extends HornetQConnectionFactory implements XATopicConnectionFactory
+{
+   private static final long serialVersionUID = -7018290426884419693L;
+
+   public HornetQXATopicConnectionFactory(String discoveryAddress, int discoveryPort)
+   {
+      super(discoveryAddress, discoveryPort);
+   }
+
+   public HornetQXATopicConnectionFactory(List<Pair<TransportConfiguration, TransportConfiguration>> connectorConfigs)
+   {
+      super(connectorConfigs);
+   }
+
+   public HornetQXATopicConnectionFactory(TransportConfiguration connectorConfig,
+                                          TransportConfiguration backupConnectorConfig)
+   {
+      super(connectorConfig, backupConnectorConfig);
+   }
+}

Modified: branches/HORNETQ-515/src/main/org/hornetq/jms/management/impl/JMSServerControlImpl.java
===================================================================
--- branches/HORNETQ-515/src/main/org/hornetq/jms/management/impl/JMSServerControlImpl.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/src/main/org/hornetq/jms/management/impl/JMSServerControlImpl.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -38,6 +38,7 @@
 import org.hornetq.api.jms.management.TopicControl;
 import org.hornetq.core.management.impl.MBeanInfoHelper;
 import org.hornetq.jms.server.JMSServerManager;
+import org.hornetq.jms.server.impl.JMSFactoryType;
 
 /**
  * @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
@@ -163,7 +164,7 @@
       {
          TransportConfiguration liveTC = new TransportConfiguration(liveTransportClassName, liveTransportParams);
 
-         server.createConnectionFactory(name, liveTC, JMSServerControlImpl.convert(jndiBindings));
+         server.createConnectionFactory(name, liveTC, JMSFactoryType.CF, JMSServerControlImpl.convert(jndiBindings));
 
          sendNotification(NotificationType.CONNECTION_FACTORY_CREATED, name);
       }
@@ -173,6 +174,121 @@
       }
                                        }
 
+   public void createXAConnectionFactory(final String name,
+                                       final String liveTransportClassName,
+                                       final Map<String, Object> liveTransportParams,
+                                       final Object[] jndiBindings) throws Exception
+   {
+      checkStarted();
+
+      clearIO();
+
+      try
+      {
+         TransportConfiguration liveTC = new TransportConfiguration(liveTransportClassName, liveTransportParams);
+
+         server.createConnectionFactory(name, liveTC, JMSFactoryType.XA_CF, JMSServerControlImpl.convert(jndiBindings));
+
+         sendNotification(NotificationType.CONNECTION_FACTORY_CREATED, name);
+      }
+      finally
+      {
+         blockOnIO();
+      }
+   }
+
+   public void createQueueConnectionFactory(final String name,
+                                       final String liveTransportClassName,
+                                       final Map<String, Object> liveTransportParams,
+                                       final Object[] jndiBindings) throws Exception
+   {
+      checkStarted();
+
+      clearIO();
+
+      try
+      {
+         TransportConfiguration liveTC = new TransportConfiguration(liveTransportClassName, liveTransportParams);
+
+         server.createConnectionFactory(name, liveTC, JMSFactoryType.QUEUE_CF, JMSServerControlImpl.convert(jndiBindings));
+
+         sendNotification(NotificationType.CONNECTION_FACTORY_CREATED, name);
+      }
+      finally
+      {
+         blockOnIO();
+      }
+   }
+
+   public void createTopicConnectionFactory(final String name,
+                                       final String liveTransportClassName,
+                                       final Map<String, Object> liveTransportParams,
+                                       final Object[] jndiBindings) throws Exception
+   {
+      checkStarted();
+
+      clearIO();
+
+      try
+      {
+         TransportConfiguration liveTC = new TransportConfiguration(liveTransportClassName, liveTransportParams);
+
+         server.createConnectionFactory(name, liveTC, JMSFactoryType.TOPIC_CF, JMSServerControlImpl.convert(jndiBindings));
+
+         sendNotification(NotificationType.CONNECTION_FACTORY_CREATED, name);
+      }
+      finally
+      {
+         blockOnIO();
+      }
+   }
+
+   public void createXAQueueConnectionFactory(final String name,
+                                       final String liveTransportClassName,
+                                       final Map<String, Object> liveTransportParams,
+                                       final Object[] jndiBindings) throws Exception
+   {
+      checkStarted();
+
+      clearIO();
+
+      try
+      {
+         TransportConfiguration liveTC = new TransportConfiguration(liveTransportClassName, liveTransportParams);
+
+         server.createConnectionFactory(name, liveTC, JMSFactoryType.QUEUE_XA_CF, JMSServerControlImpl.convert(jndiBindings));
+
+         sendNotification(NotificationType.CONNECTION_FACTORY_CREATED, name);
+      }
+      finally
+      {
+         blockOnIO();
+      }
+   }
+
+   public void createXATopicConnectionFactory(final String name,
+                                       final String liveTransportClassName,
+                                       final Map<String, Object> liveTransportParams,
+                                       final Object[] jndiBindings) throws Exception
+   {
+      checkStarted();
+
+      clearIO();
+
+      try
+      {
+         TransportConfiguration liveTC = new TransportConfiguration(liveTransportClassName, liveTransportParams);
+
+         server.createConnectionFactory(name, liveTC, JMSFactoryType.TOPIC_XA_CF, JMSServerControlImpl.convert(jndiBindings));
+
+         sendNotification(NotificationType.CONNECTION_FACTORY_CREATED, name);
+      }
+      finally
+      {
+         blockOnIO();
+      }
+   }
+
    public void createConnectionFactory(final String name,
                                        final Object[] liveConnectorsTransportClassNames,
                                        final Object[] liveConnectorTransportParams,

Modified: branches/HORNETQ-515/src/main/org/hornetq/jms/server/JMSServerManager.java
===================================================================
--- branches/HORNETQ-515/src/main/org/hornetq/jms/server/JMSServerManager.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/src/main/org/hornetq/jms/server/JMSServerManager.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -25,6 +25,7 @@
 import org.hornetq.core.server.HornetQServer;
 import org.hornetq.core.settings.impl.AddressSettings;
 import org.hornetq.jms.server.config.ConnectionFactoryConfiguration;
+import org.hornetq.jms.server.impl.JMSFactoryType;
 import org.hornetq.spi.core.naming.BindingRegistry;
 
 /**
@@ -170,7 +171,7 @@
                                 TransportConfiguration backupTC,
                                 String ... bindings) throws Exception;
 
-   void createConnectionFactory(String name, TransportConfiguration liveTC, String ... bindings) throws Exception;
+   void createConnectionFactory(String name, TransportConfiguration liveTC, JMSFactoryType cfType, String ... bindings) throws Exception;
 
    void createConnectionFactory(String name,
                                 String clientID,
@@ -222,6 +223,7 @@
                                 boolean failoverOnInitialConnection,
                                 boolean failoverOnServerShutdown,
                                 String groupId,
+                                JMSFactoryType factoryType,
                                 String ... bindings) throws Exception;
 
    void createConnectionFactory(String name,

Modified: branches/HORNETQ-515/src/main/org/hornetq/jms/server/config/ConnectionFactoryConfiguration.java
===================================================================
--- branches/HORNETQ-515/src/main/org/hornetq/jms/server/config/ConnectionFactoryConfiguration.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/src/main/org/hornetq/jms/server/config/ConnectionFactoryConfiguration.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -19,6 +19,7 @@
 import org.hornetq.api.core.TransportConfiguration;
 import org.hornetq.core.journal.EncodingSupport;
 import org.hornetq.jms.server.JMSServerManager;
+import org.hornetq.jms.server.impl.JMSFactoryType;
 
 /**
  * A ConnectionFactoryConfiguration
@@ -202,4 +203,8 @@
    String getGroupID();
 
    void setGroupID(String groupID);
+
+   void setFactoryType(JMSFactoryType factType);
+   
+   JMSFactoryType getFactoryType();
 }

Modified: branches/HORNETQ-515/src/main/org/hornetq/jms/server/config/impl/ConnectionFactoryConfigurationImpl.java
===================================================================
--- branches/HORNETQ-515/src/main/org/hornetq/jms/server/config/impl/ConnectionFactoryConfigurationImpl.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/src/main/org/hornetq/jms/server/config/impl/ConnectionFactoryConfigurationImpl.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -21,6 +21,7 @@
 import org.hornetq.api.core.TransportConfiguration;
 import org.hornetq.api.core.client.HornetQClient;
 import org.hornetq.jms.server.config.ConnectionFactoryConfiguration;
+import org.hornetq.jms.server.impl.JMSFactoryType;
 import org.hornetq.utils.BufferHelper;
 import org.hornetq.utils.DataConstants;
 
@@ -115,6 +116,8 @@
    
    private String groupID = null;
    
+   private JMSFactoryType factoryType = JMSFactoryType.CF;
+   
    // Static --------------------------------------------------------
 
    // Constructors --------------------------------------------------
@@ -671,6 +674,8 @@
       failoverOnServerShutdown = buffer.readBoolean();
 
       groupID = BufferHelper.readNullableSimpleStringAsString(buffer);
+      
+      factoryType = JMSFactoryType.valueOf(buffer.readInt());
    }
 
    /* (non-Javadoc)
@@ -762,6 +767,8 @@
       buffer.writeBoolean(failoverOnServerShutdown);
 
       BufferHelper.writeAsNullableSimpleString(buffer, groupID);
+      
+      buffer.writeInt(factoryType.intValue());
    }
 
 
@@ -860,8 +867,20 @@
 
              DataConstants.SIZE_BOOLEAN + // failoverOnServerShutdown
              
-             BufferHelper.sizeOfNullableSimpleString(groupID);
+             BufferHelper.sizeOfNullableSimpleString(groupID) + 
+             
+             DataConstants.SIZE_INT; //factoryType
    }
+
+   public void setFactoryType(JMSFactoryType factoryType)
+   {
+      this.factoryType = factoryType;
+   }
+
+   public JMSFactoryType getFactoryType()
+   {
+      return factoryType;
+   }
    
    // Public --------------------------------------------------------
 

Added: branches/HORNETQ-515/src/main/org/hornetq/jms/server/impl/JMSFactoryType.java
===================================================================
--- branches/HORNETQ-515/src/main/org/hornetq/jms/server/impl/JMSFactoryType.java	                        (rev 0)
+++ branches/HORNETQ-515/src/main/org/hornetq/jms/server/impl/JMSFactoryType.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -0,0 +1,83 @@
+/*
+ * Copyright 2010 Red Hat, Inc.
+ * Red Hat 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.
+ */
+
+package org.hornetq.jms.server.impl;
+
+/**
+ * A JMSFactoryType
+ *
+ * @author howard
+ *
+ *
+ */
+public enum JMSFactoryType
+{
+   CF, QUEUE_CF, TOPIC_CF, XA_CF, QUEUE_XA_CF, TOPIC_XA_CF;
+
+   public int intValue()
+   {
+      int val = 0;
+      switch (this)
+      {
+         case CF:
+            val = 0;
+            break;
+         case QUEUE_CF:
+            val = 1;
+            break;
+         case TOPIC_CF:
+            val = 2;
+            break;
+         case XA_CF:
+            val = 3;
+            break;
+         case QUEUE_XA_CF:
+            val = 4;
+            break;
+         case TOPIC_XA_CF:
+            val = 5;
+            break;
+      }
+      return val;
+   }
+
+   public static JMSFactoryType valueOf(int val)
+   {
+      JMSFactoryType type;
+      switch (val)
+      {
+         case 0:
+            type = CF;
+            break;
+         case 1:
+            type = QUEUE_CF;
+            break;
+         case 2:
+            type = TOPIC_CF;
+            break;
+         case 3:
+            type = XA_CF;
+            break;
+         case 4:
+            type = QUEUE_XA_CF;
+            break;
+         case 5:
+            type = TOPIC_XA_CF;
+            break;
+         default:
+            type = XA_CF;
+            break;
+      }
+      return type;
+   }
+}

Modified: branches/HORNETQ-515/src/main/org/hornetq/jms/server/impl/JMSServerConfigParserImpl.java
===================================================================
--- branches/HORNETQ-515/src/main/org/hornetq/jms/server/impl/JMSServerConfigParserImpl.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/src/main/org/hornetq/jms/server/impl/JMSServerConfigParserImpl.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -205,7 +205,14 @@
       Element e = (Element)node;
 
       String name = node.getAttributes().getNamedItem(JMSServerConfigParserImpl.NAME_ATTR).getNodeValue();
+      
+      String fact = e.getAttribute("signature");
+      boolean isXA = XMLConfigurationUtil.getBoolean(e,
+                                                     "xa",
+                                                     HornetQClient.DEFAULT_XA);
 
+      JMSFactoryType factType = resolveFactoryType(fact, isXA);
+
       long clientFailureCheckPeriod = XMLConfigurationUtil.getLong(e,
                                                                    "client-failure-check-period",
                                                                    HornetQClient.DEFAULT_CLIENT_FAILURE_CHECK_PERIOD,
@@ -381,6 +388,7 @@
          cfConfig.setConnectorNames(connectorNames);
       }
 
+      cfConfig.setFactoryType(factType);
       cfConfig.setClientID(clientID);
       cfConfig.setClientFailureCheckPeriod(clientFailureCheckPeriod);
       cfConfig.setConnectionTTL(connectionTTL);
@@ -413,6 +421,46 @@
       return cfConfig;
    }
 
+   private JMSFactoryType resolveFactoryType(String fact, boolean isXA) throws HornetQException
+   {
+      if ("".equals(fact))
+      {
+         fact = "generic";
+      }
+      if (isXA)
+      {
+         if ("generic".equals(fact))
+         {
+            return JMSFactoryType.XA_CF;
+         }
+         if ("queue".equals(fact))
+         {
+            return JMSFactoryType.QUEUE_XA_CF;
+         }
+         if ("topic".equals(fact))
+         {
+            return JMSFactoryType.TOPIC_XA_CF;
+         }
+      }
+      else
+      {
+         if ("generic".equals(fact))
+         {
+            return JMSFactoryType.CF;
+         }
+         if ("queue".equals(fact))
+         {
+            return JMSFactoryType.QUEUE_CF;
+         }
+         if ("topic".equals(fact))
+         {
+            return JMSFactoryType.TOPIC_CF;
+         }
+      }
+      throw new HornetQException(HornetQException.INTERNAL_ERROR, "Invalid signature " + fact +
+      " at parseConnectionFactory");
+   }
+
    /**
     * hook for integration layers 
     * @param topicName

Modified: branches/HORNETQ-515/src/main/org/hornetq/jms/server/impl/JMSServerManagerImpl.java
===================================================================
--- branches/HORNETQ-515/src/main/org/hornetq/jms/server/impl/JMSServerManagerImpl.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/src/main/org/hornetq/jms/server/impl/JMSServerManagerImpl.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -23,7 +23,6 @@
 
 import javax.naming.Context;
 import javax.naming.InitialContext;
-import javax.naming.NameNotFoundException;
 import javax.naming.NamingException;
 
 import org.hornetq.api.core.HornetQException;
@@ -754,6 +753,7 @@
                                                     final boolean failoverOnInitialConnection,
                                                     final boolean failoverOnServerShutdown,
                                                     final String groupId,
+                                                    final JMSFactoryType factoryType,
                                                     String... jndiBindings) throws Exception
    {
       checkInitialised();
@@ -790,6 +790,7 @@
          configuration.setFailoverOnInitialConnection(failoverOnInitialConnection);
          configuration.setFailoverOnServerShutdown(failoverOnServerShutdown);
          configuration.setGroupID(groupId);
+         configuration.setFactoryType(factoryType);
          createConnectionFactory(true, configuration, jndiBindings);
       }
    }
@@ -969,13 +970,14 @@
                                                                     final int reconnectAttempts,
                                                                     final boolean failoverOnInitialConnection,
                                                                     final boolean failoverOnServerShutdown,
-                                                                    final String groupId) throws Exception
+                                                                    final String groupId, 
+                                                                    final JMSFactoryType jmsFactoryType) throws Exception
    {
       checkInitialised();
       HornetQConnectionFactory cf = connectionFactories.get(name);
       if (cf == null)
       {
-         cf = (HornetQConnectionFactory)HornetQJMSClient.createConnectionFactory(discoveryAddress, discoveryPort);
+         cf = (HornetQConnectionFactory)HornetQJMSClient.createConnectionFactory(discoveryAddress, discoveryPort, jmsFactoryType);
          cf.setClientID(clientID);
          cf.setLocalBindAddress(localBindAddress);
          cf.setDiscoveryRefreshTimeout(discoveryRefreshTimeout);
@@ -1043,13 +1045,14 @@
                                                                     final int reconnectAttempts,
                                                                     final boolean failoverOnInitialConnection,
                                                                     final boolean failoverOnServerShutdown,
-                                                                    final String groupId) throws Exception
+                                                                    final String groupId, 
+                                                                    final JMSFactoryType jmsFactoryType) throws Exception
    {
       checkInitialised();
       HornetQConnectionFactory cf = connectionFactories.get(name);
       if (cf == null)
       {
-         cf = (HornetQConnectionFactory)HornetQJMSClient.createConnectionFactory(connectorConfigs);
+         cf = (HornetQConnectionFactory)HornetQJMSClient.createConnectionFactory(connectorConfigs, jmsFactoryType);
          cf.setClientID(clientID);
          cf.setClientFailureCheckPeriod(clientFailureCheckPeriod);
          cf.setConnectionTTL(connectionTTL);
@@ -1213,7 +1216,8 @@
                                               cfConfig.getReconnectAttempts(),
                                               cfConfig.isFailoverOnInitialConnection(),
                                               cfConfig.isFailoverOnServerShutdown(),
-                                              cfConfig.getGroupID());
+                                              cfConfig.getGroupID(),
+                                              cfConfig.getFactoryType());
       }
       else
       {
@@ -1247,7 +1251,8 @@
                                               cfConfig.getReconnectAttempts(),
                                               cfConfig.isFailoverOnInitialConnection(),
                                               cfConfig.isFailoverOnServerShutdown(),
-                                              cfConfig.getGroupID());
+                                              cfConfig.getGroupID(),
+                                              cfConfig.getFactoryType());
       }
       connectionFactories.put(cfConfig.getName(), cf);
 
@@ -1258,6 +1263,7 @@
 
    public synchronized void createConnectionFactory(final String name,
                                                     final TransportConfiguration liveTC,
+                                                    final JMSFactoryType cfType,
                                                     final String... jndiBindings) throws Exception
    {
       checkInitialised();
@@ -1265,6 +1271,7 @@
       if (cf == null)
       {
          ConnectionFactoryConfiguration configuration = new ConnectionFactoryConfigurationImpl(name, liveTC);
+         configuration.setFactoryType(cfType);
          createConnectionFactory(true, configuration, jndiBindings);
       }
    }

Modified: branches/HORNETQ-515/src/main/org/hornetq/ra/HornetQResourceAdapter.java
===================================================================
--- branches/HORNETQ-515/src/main/org/hornetq/ra/HornetQResourceAdapter.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/src/main/org/hornetq/ra/HornetQResourceAdapter.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -35,6 +35,7 @@
 import org.hornetq.api.core.client.ClientSessionFactory;
 import org.hornetq.api.core.client.HornetQClient;
 import org.hornetq.jms.client.HornetQConnectionFactory;
+import org.hornetq.jms.server.impl.JMSFactoryType;
 import org.hornetq.api.jms.HornetQJMSClient;
 import org.hornetq.core.logging.Logger;
 import org.hornetq.ra.inflow.HornetQActivation;
@@ -1389,13 +1390,13 @@
                                                                          : new TransportConfiguration(backUpCOnnectorClassname,
                                                                                                       backupConnectionParams);
 
-         cf = HornetQJMSClient.createConnectionFactory(transportConf, backup);
+         cf = HornetQJMSClient.createConnectionFactory(transportConf, backup, JMSFactoryType.XA_CF);
       }
       else if (discoveryAddress != null)
       {
          Integer discoveryPort = overrideProperties.getDiscoveryPort() != null ? overrideProperties.getDiscoveryPort()
                                                                               : getDiscoveryPort();
-         cf = HornetQJMSClient.createConnectionFactory(discoveryAddress, discoveryPort);
+         cf = HornetQJMSClient.createConnectionFactory(discoveryAddress, discoveryPort, JMSFactoryType.XA_CF);
       }
       else
       {

Modified: branches/HORNETQ-515/tests/jms-tests/config/hornetq-jms.xml
===================================================================
--- branches/HORNETQ-515/tests/jms-tests/config/hornetq-jms.xml	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/tests/jms-tests/config/hornetq-jms.xml	2010-10-10 12:15:41 UTC (rev 9762)
@@ -15,4 +15,112 @@
       </entries>
    </connection-factory>
 
-</configuration>
\ No newline at end of file
+   <connection-factory name="JMSConnectionFactory1">
+      <xa>true</xa>
+      <connectors>
+         <connector-ref connector-name="netty"/>
+      </connectors>
+      <entries>
+         <entry name="/CF_XA_TRUE"/>
+      </entries>
+   </connection-factory>
+
+   <connection-factory name="JMSConnectionFactory2">
+      <xa>false</xa>
+      <connectors>
+         <connector-ref connector-name="netty"/>
+      </connectors>
+      <entries>
+         <entry name="/CF_XA_FALSE"/>
+      </entries>
+   </connection-factory>
+
+   <connection-factory name="JMSConnectionFactory3" signature="generic">
+      <connectors>
+         <connector-ref connector-name="netty"/>
+      </connectors>
+      <entries>
+         <entry name="/CF_GENERIC"/>
+      </entries>
+   </connection-factory>
+
+   <connection-factory name="JMSConnectionFactory4" signature="generic">
+      <xa>true</xa>
+      <connectors>
+         <connector-ref connector-name="netty"/>
+      </connectors>
+      <entries>
+         <entry name="/CF_GENERIC_XA_TRUE"/>
+      </entries>
+   </connection-factory>
+
+   <connection-factory name="JMSConnectionFactory5" signature="generic">
+      <xa>false</xa>
+      <connectors>
+         <connector-ref connector-name="netty"/>
+      </connectors>
+      <entries>
+         <entry name="/CF_GENERIC_XA_FALSE"/>
+      </entries>
+   </connection-factory>
+
+   <connection-factory name="JMSConnectionFactory6" signature="queue">
+      <connectors>
+         <connector-ref connector-name="netty"/>
+      </connectors>
+      <entries>
+         <entry name="/CF_QUEUE"/>
+      </entries>
+   </connection-factory>
+
+   <connection-factory name="JMSConnectionFactory7" signature="queue">
+      <xa>true</xa>
+      <connectors>
+         <connector-ref connector-name="netty"/>
+      </connectors>
+      <entries>
+         <entry name="/CF_QUEUE_XA_TRUE"/>
+      </entries>
+   </connection-factory>
+
+   <connection-factory name="JMSConnectionFactory8" signature="queue">
+      <xa>false</xa>
+      <connectors>
+         <connector-ref connector-name="netty"/>
+      </connectors>
+      <entries>
+         <entry name="/CF_QUEUE_XA_FALSE"/>
+      </entries>
+   </connection-factory>
+
+   <connection-factory name="JMSConnectionFactory9" signature="topic">
+      <connectors>
+         <connector-ref connector-name="netty"/>
+      </connectors>
+      <entries>
+         <entry name="/CF_TOPIC"/>
+      </entries>
+   </connection-factory>
+
+   <connection-factory name="JMSConnectionFactory10" signature="topic">
+      <xa>true</xa>
+      <connectors>
+         <connector-ref connector-name="netty"/>
+      </connectors>
+      <entries>
+         <entry name="/CF_TOPIC_XA_TRUE"/>
+      </entries>
+   </connection-factory>
+
+   <connection-factory name="JMSConnectionFactory11" signature="topic">
+      <xa>false</xa>
+      <connectors>
+         <connector-ref connector-name="netty"/>
+      </connectors>
+      <entries>
+         <entry name="/CF_TOPIC_XA_FALSE"/>
+      </entries>
+   </connection-factory>
+
+</configuration>
+

Modified: branches/HORNETQ-515/tests/jms-tests/src/org/hornetq/jms/tests/CTSMiscellaneousTest.java
===================================================================
--- branches/HORNETQ-515/tests/jms-tests/src/org/hornetq/jms/tests/CTSMiscellaneousTest.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/tests/jms-tests/src/org/hornetq/jms/tests/CTSMiscellaneousTest.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -25,6 +25,7 @@
 import org.hornetq.api.core.TransportConfiguration;
 import org.hornetq.api.core.client.HornetQClient;
 import org.hornetq.jms.client.HornetQConnectionFactory;
+import org.hornetq.jms.server.impl.JMSFactoryType;
 
 /**
  * Safeguards for previously detected TCK failures.
@@ -95,6 +96,7 @@
                                                        HornetQClient.DEFAULT_FAILOVER_ON_INITIAL_CONNECTION,
                                                        HornetQClient.DEFAULT_FAILOVER_ON_SERVER_SHUTDOWN,
                                                        null,
+                                                       JMSFactoryType.CF,
                                                        "/StrictTCKConnectionFactory");
 
          CTSMiscellaneousTest.cf = (HornetQConnectionFactory)getInitialContext().lookup("/StrictTCKConnectionFactory");

Modified: branches/HORNETQ-515/tests/jms-tests/src/org/hornetq/jms/tests/ConnectionClosedTest.java
===================================================================
--- branches/HORNETQ-515/tests/jms-tests/src/org/hornetq/jms/tests/ConnectionClosedTest.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/tests/jms-tests/src/org/hornetq/jms/tests/ConnectionClosedTest.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -66,8 +66,8 @@
    /** See TCK test: topicconntests.connNotStartedTopicTest */
    public void testCannotReceiveMessageOnStoppedConnection() throws Exception
    {
-      TopicConnection conn1 = ((TopicConnectionFactory)JMSTestCase.cf).createTopicConnection();
-      TopicConnection conn2 = ((TopicConnectionFactory)JMSTestCase.cf).createTopicConnection();
+      TopicConnection conn1 = ((TopicConnectionFactory)JMSTestCase.topicCf).createTopicConnection();
+      TopicConnection conn2 = ((TopicConnectionFactory)JMSTestCase.topicCf).createTopicConnection();
 
       TopicSession sess1 = conn1.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);
       TopicSession sess2 = conn2.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);

Modified: branches/HORNETQ-515/tests/jms-tests/src/org/hornetq/jms/tests/ConnectionFactoryTest.java
===================================================================
--- branches/HORNETQ-515/tests/jms-tests/src/org/hornetq/jms/tests/ConnectionFactoryTest.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/tests/jms-tests/src/org/hornetq/jms/tests/ConnectionFactoryTest.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -28,7 +28,11 @@
 import javax.jms.Topic;
 import javax.jms.TopicConnection;
 import javax.jms.TopicConnectionFactory;
+import javax.jms.XAConnectionFactory;
+import javax.jms.XAQueueConnectionFactory;
+import javax.jms.XATopicConnectionFactory;
 
+import org.hornetq.jms.client.HornetQConnectionFactory;
 import org.hornetq.jms.tests.util.ProxyAssertSupport;
 
 /**
@@ -62,7 +66,7 @@
     */
    public void testQueueConnectionFactory() throws Exception
    {
-      QueueConnectionFactory qcf = (QueueConnectionFactory)JMSTestCase.ic.lookup("/ConnectionFactory");
+      QueueConnectionFactory qcf = (QueueConnectionFactory)JMSTestCase.ic.lookup("/CF_QUEUE_XA_FALSE");
       QueueConnection qc = qcf.createQueueConnection();
       qc.close();
    }
@@ -73,7 +77,7 @@
     */
    public void testTopicConnectionFactory() throws Exception
    {
-      TopicConnectionFactory qcf = (TopicConnectionFactory)JMSTestCase.ic.lookup("/ConnectionFactory");
+      TopicConnectionFactory qcf = (TopicConnectionFactory)JMSTestCase.ic.lookup("/CF_TOPIC_XA_FALSE");
       TopicConnection tc = qcf.createTopicConnection();
       tc.close();
    }
@@ -107,7 +111,7 @@
       // the ConnectionFactories that ship with HornetQ do not have their clientID
       // administratively configured.
 
-      ConnectionFactory cf = (ConnectionFactory)JMSTestCase.ic.lookup("/ConnectionFactory");
+      ConnectionFactory cf = (ConnectionFactory)JMSTestCase.ic.lookup("/CF_XA_FALSE");
       Connection c = cf.createConnection();
 
       ProxyAssertSupport.assertNull(c.getClientID());
@@ -120,7 +124,7 @@
       // the ConnectionFactories that ship with HornetQ do not have their clientID
       // administratively configured.
 
-      ConnectionFactory cf = (ConnectionFactory)JMSTestCase.ic.lookup("/ConnectionFactory");
+      ConnectionFactory cf = (ConnectionFactory)JMSTestCase.ic.lookup("/CF_XA_FALSE");
       Connection c = cf.createConnection();
 
       // set the client id immediately after the connection is created
@@ -320,7 +324,102 @@
       }
 
    }
+   
+   public void testFactoryTypes() throws Exception
+   {
+      HornetQConnectionFactory factory = null;
+      
+      factory = (HornetQConnectionFactory)JMSTestCase.ic.lookup("/ConnectionFactory");
+      
+      assertTrue(factory instanceof ConnectionFactory);
+      assertEquals(1, getTypes(factory));
+      
+      factory = (HornetQConnectionFactory)JMSTestCase.ic.lookup("/CF_XA_TRUE");
+      
+      assertTrue(factory instanceof XAConnectionFactory);
+      assertEquals(1, getTypes(factory));
+      
+      factory = (HornetQConnectionFactory)JMSTestCase.ic.lookup("/CF_XA_FALSE");
+      
+      assertTrue(factory instanceof ConnectionFactory);
+      assertEquals(1, getTypes(factory));
+      
+      factory = (HornetQConnectionFactory)JMSTestCase.ic.lookup("/CF_GENERIC");
+      
+      assertTrue(factory instanceof ConnectionFactory);
+      assertEquals(1, getTypes(factory));
+      
+      factory = (HornetQConnectionFactory)JMSTestCase.ic.lookup("/CF_GENERIC_XA_TRUE");
+      
+      assertTrue(factory instanceof XAConnectionFactory);
+      assertEquals(1, getTypes(factory));
+      
+      factory = (HornetQConnectionFactory)JMSTestCase.ic.lookup("/CF_GENERIC_XA_FALSE");
+      
+      assertTrue(factory instanceof ConnectionFactory);
+      assertEquals(1, getTypes(factory));
+      
+      factory = (HornetQConnectionFactory)JMSTestCase.ic.lookup("/CF_QUEUE");
+      
+      assertTrue(factory instanceof QueueConnectionFactory);
+      assertEquals(2, getTypes(factory));
+      
+      factory = (HornetQConnectionFactory)JMSTestCase.ic.lookup("/CF_QUEUE_XA_TRUE");
+      
+      assertTrue(factory instanceof XAQueueConnectionFactory);
+      assertEquals(4, getTypes(factory));
+      
+      factory = (HornetQConnectionFactory)JMSTestCase.ic.lookup("/CF_QUEUE_XA_FALSE");
+      
+      assertTrue(factory instanceof QueueConnectionFactory);
+      assertEquals(2, getTypes(factory));
+      
+      factory = (HornetQConnectionFactory)JMSTestCase.ic.lookup("/CF_TOPIC");
+      
+      assertTrue(factory instanceof TopicConnectionFactory);
+      assertEquals(2, getTypes(factory));
+      
+      factory = (HornetQConnectionFactory)JMSTestCase.ic.lookup("/CF_TOPIC_XA_TRUE");
+      
+      assertTrue(factory instanceof XATopicConnectionFactory);
+      assertEquals(4, getTypes(factory));
+      
+      factory = (HornetQConnectionFactory)JMSTestCase.ic.lookup("/CF_TOPIC_XA_FALSE");
+      
+      assertTrue(factory instanceof TopicConnectionFactory);
+      assertEquals(2, getTypes(factory));
+   }
 
+   private int getTypes(HornetQConnectionFactory factory)
+   {
+      int num = 0;
+      if (factory instanceof ConnectionFactory)
+      {
+         num++;
+      }
+      if (factory instanceof XAConnectionFactory)
+      {
+         num++;
+      }
+      if (factory instanceof QueueConnectionFactory)
+      {
+         num++;
+      }
+      if (factory instanceof TopicConnectionFactory)
+      {
+         num++;
+      }
+      if (factory instanceof XAQueueConnectionFactory)
+      {
+         num++;
+      }
+      if (factory instanceof XATopicConnectionFactory)
+      {
+         num++;
+      }
+      return num;
+   }
+
    // Package protected ---------------------------------------------
 
    // Protected -----------------------------------------------------

Modified: branches/HORNETQ-515/tests/jms-tests/src/org/hornetq/jms/tests/ConnectionTest.java
===================================================================
--- branches/HORNETQ-515/tests/jms-tests/src/org/hornetq/jms/tests/ConnectionTest.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/tests/jms-tests/src/org/hornetq/jms/tests/ConnectionTest.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -211,7 +211,7 @@
     */
    public void testQueueConnection1() throws Exception
    {
-      QueueConnectionFactory qcf = JMSTestCase.cf;
+      QueueConnectionFactory qcf = JMSTestCase.queueCf;
 
       QueueConnection qc = qcf.createQueueConnection();
 
@@ -225,7 +225,7 @@
     */
    public void testQueueConnection2() throws Exception
    {
-      TopicConnectionFactory tcf = JMSTestCase.cf;
+      TopicConnectionFactory tcf = JMSTestCase.topicCf;
 
       TopicConnection tc = tcf.createTopicConnection();
 
@@ -280,7 +280,7 @@
     */
    public void testDurableSubscriberOnQueueConnection() throws Exception
    {
-      QueueConnection queueConnection = ((QueueConnectionFactory)JMSTestCase.cf).createQueueConnection();
+      QueueConnection queueConnection = ((QueueConnectionFactory)JMSTestCase.queueCf).createQueueConnection();
 
       try
       {

Modified: branches/HORNETQ-515/tests/jms-tests/src/org/hornetq/jms/tests/HornetQServerTestCase.java
===================================================================
--- branches/HORNETQ-515/tests/jms-tests/src/org/hornetq/jms/tests/HornetQServerTestCase.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/tests/jms-tests/src/org/hornetq/jms/tests/HornetQServerTestCase.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -318,12 +318,12 @@
 
    public TopicConnectionFactory getTopicConnectionFactory() throws Exception
    {
-      return (TopicConnectionFactory)getInitialContext().lookup("/ConnectionFactory");
+      return (TopicConnectionFactory)getInitialContext().lookup("/CF_TOPIC");
    }
 
    public XAConnectionFactory getXAConnectionFactory() throws Exception
    {
-      return (XAConnectionFactory)getInitialContext().lookup("/ConnectionFactory");
+      return (XAConnectionFactory)getInitialContext().lookup("/CF_XA_TRUE");
    }
 
    public InitialContext getInitialContext(final int serverid) throws Exception

Modified: branches/HORNETQ-515/tests/jms-tests/src/org/hornetq/jms/tests/JMSTestCase.java
===================================================================
--- branches/HORNETQ-515/tests/jms-tests/src/org/hornetq/jms/tests/JMSTestCase.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/tests/jms-tests/src/org/hornetq/jms/tests/JMSTestCase.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -22,6 +22,10 @@
 import org.hornetq.api.core.TransportConfiguration;
 import org.hornetq.api.core.client.HornetQClient;
 import org.hornetq.jms.client.HornetQConnectionFactory;
+import org.hornetq.jms.client.HornetQJMSConnectionFactory;
+import org.hornetq.jms.client.HornetQQueueConnectionFactory;
+import org.hornetq.jms.client.HornetQTopicConnectionFactory;
+import org.hornetq.jms.server.impl.JMSFactoryType;
 
 /**
  * @author <a href="mailto:tim.fox at jboss.com">Tim Fox</a>
@@ -32,8 +36,12 @@
 public class JMSTestCase extends HornetQServerTestCase
 {
 
-   protected static HornetQConnectionFactory cf;
+   protected static HornetQJMSConnectionFactory cf;
 
+   protected static HornetQQueueConnectionFactory queueCf;
+
+   protected static HornetQTopicConnectionFactory topicCf;
+
    protected static InitialContext ic;
 
    protected static final String defaultConf = "all";
@@ -91,10 +99,81 @@
                                                     HornetQClient.DEFAULT_FAILOVER_ON_INITIAL_CONNECTION,
                                                     HornetQClient.DEFAULT_FAILOVER_ON_SERVER_SHUTDOWN,
                                                     null,
+                                                    JMSFactoryType.CF,
                                                     "/testsuitecf");
 
-      JMSTestCase.cf = (HornetQConnectionFactory)getInitialContext().lookup("/testsuitecf");
+      getJmsServerManager().createConnectionFactory("testsuitecf_queue",
+                                                    connectorConfigs,
+                                                    null,
+                                                    HornetQClient.DEFAULT_CLIENT_FAILURE_CHECK_PERIOD,
+                                                    HornetQClient.DEFAULT_CONNECTION_TTL,
+                                                    HornetQClient.DEFAULT_CALL_TIMEOUT,
+                                                    HornetQClient.DEFAULT_CACHE_LARGE_MESSAGE_CLIENT,
+                                                    HornetQClient.DEFAULT_MIN_LARGE_MESSAGE_SIZE,
+                                                    HornetQClient.DEFAULT_CONSUMER_WINDOW_SIZE,
+                                                    HornetQClient.DEFAULT_CONSUMER_MAX_RATE,
+                                                    HornetQClient.DEFAULT_CONFIRMATION_WINDOW_SIZE,
+                                                    HornetQClient.DEFAULT_PRODUCER_WINDOW_SIZE,
+                                                    HornetQClient.DEFAULT_PRODUCER_MAX_RATE,
+                                                    true,
+                                                    true,
+                                                    true,
+                                                    HornetQClient.DEFAULT_AUTO_GROUP,
+                                                    HornetQClient.DEFAULT_PRE_ACKNOWLEDGE,
+                                                    HornetQClient.DEFAULT_CONNECTION_LOAD_BALANCING_POLICY_CLASS_NAME,
+                                                    HornetQClient.DEFAULT_ACK_BATCH_SIZE,
+                                                    HornetQClient.DEFAULT_ACK_BATCH_SIZE,
+                                                    HornetQClient.DEFAULT_USE_GLOBAL_POOLS,
+                                                    HornetQClient.DEFAULT_SCHEDULED_THREAD_POOL_MAX_SIZE,
+                                                    HornetQClient.DEFAULT_THREAD_POOL_MAX_SIZE,
+                                                    HornetQClient.DEFAULT_RETRY_INTERVAL,
+                                                    HornetQClient.DEFAULT_RETRY_INTERVAL_MULTIPLIER,
+                                                    HornetQClient.DEFAULT_MAX_RETRY_INTERVAL,
+                                                    HornetQClient.DEFAULT_RECONNECT_ATTEMPTS,
+                                                    HornetQClient.DEFAULT_FAILOVER_ON_INITIAL_CONNECTION,
+                                                    HornetQClient.DEFAULT_FAILOVER_ON_SERVER_SHUTDOWN,
+                                                    null,
+                                                    JMSFactoryType.QUEUE_CF,
+                                                    "/testsuitecf_queue");
 
+      getJmsServerManager().createConnectionFactory("testsuitecf_topic",
+                                                    connectorConfigs,
+                                                    null,
+                                                    HornetQClient.DEFAULT_CLIENT_FAILURE_CHECK_PERIOD,
+                                                    HornetQClient.DEFAULT_CONNECTION_TTL,
+                                                    HornetQClient.DEFAULT_CALL_TIMEOUT,
+                                                    HornetQClient.DEFAULT_CACHE_LARGE_MESSAGE_CLIENT,
+                                                    HornetQClient.DEFAULT_MIN_LARGE_MESSAGE_SIZE,
+                                                    HornetQClient.DEFAULT_CONSUMER_WINDOW_SIZE,
+                                                    HornetQClient.DEFAULT_CONSUMER_MAX_RATE,
+                                                    HornetQClient.DEFAULT_CONFIRMATION_WINDOW_SIZE,
+                                                    HornetQClient.DEFAULT_PRODUCER_WINDOW_SIZE,
+                                                    HornetQClient.DEFAULT_PRODUCER_MAX_RATE,
+                                                    true,
+                                                    true,
+                                                    true,
+                                                    HornetQClient.DEFAULT_AUTO_GROUP,
+                                                    HornetQClient.DEFAULT_PRE_ACKNOWLEDGE,
+                                                    HornetQClient.DEFAULT_CONNECTION_LOAD_BALANCING_POLICY_CLASS_NAME,
+                                                    HornetQClient.DEFAULT_ACK_BATCH_SIZE,
+                                                    HornetQClient.DEFAULT_ACK_BATCH_SIZE,
+                                                    HornetQClient.DEFAULT_USE_GLOBAL_POOLS,
+                                                    HornetQClient.DEFAULT_SCHEDULED_THREAD_POOL_MAX_SIZE,
+                                                    HornetQClient.DEFAULT_THREAD_POOL_MAX_SIZE,
+                                                    HornetQClient.DEFAULT_RETRY_INTERVAL,
+                                                    HornetQClient.DEFAULT_RETRY_INTERVAL_MULTIPLIER,
+                                                    HornetQClient.DEFAULT_MAX_RETRY_INTERVAL,
+                                                    HornetQClient.DEFAULT_RECONNECT_ATTEMPTS,
+                                                    HornetQClient.DEFAULT_FAILOVER_ON_INITIAL_CONNECTION,
+                                                    HornetQClient.DEFAULT_FAILOVER_ON_SERVER_SHUTDOWN,
+                                                    null,
+                                                    JMSFactoryType.TOPIC_CF,
+                                                    "/testsuitecf_topic");
+
+      JMSTestCase.cf = (HornetQJMSConnectionFactory)getInitialContext().lookup("/testsuitecf");
+      JMSTestCase.queueCf = (HornetQQueueConnectionFactory)getInitialContext().lookup("/testsuitecf_queue");
+      JMSTestCase.topicCf = (HornetQTopicConnectionFactory)getInitialContext().lookup("/testsuitecf_topic");
+
       assertRemainingMessages(0);
    }
 

Modified: branches/HORNETQ-515/tests/jms-tests/src/org/hornetq/jms/tests/ReferenceableTest.java
===================================================================
--- branches/HORNETQ-515/tests/jms-tests/src/org/hornetq/jms/tests/ReferenceableTest.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/tests/jms-tests/src/org/hornetq/jms/tests/ReferenceableTest.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -27,6 +27,7 @@
 
 import org.hornetq.jms.client.HornetQConnectionFactory;
 import org.hornetq.jms.client.HornetQDestination;
+import org.hornetq.jms.client.HornetQJMSConnectionFactory;
 import org.hornetq.jms.client.HornetQQueue;
 import org.hornetq.jms.client.HornetQTopic;
 import org.hornetq.jms.referenceable.ConnectionFactoryObjectFactory;
@@ -88,7 +89,7 @@
 
       ProxyAssertSupport.assertTrue(instance instanceof HornetQConnectionFactory);
 
-      HornetQConnectionFactory cf2 = (HornetQConnectionFactory)instance;
+      HornetQJMSConnectionFactory cf2 = (HornetQJMSConnectionFactory)instance;
 
       simpleSendReceive(cf2, HornetQServerTestCase.queue1);
    }

Modified: branches/HORNETQ-515/tests/jms-tests/src/org/hornetq/jms/tests/message/JMSXDeliveryCountTest.java
===================================================================
--- branches/HORNETQ-515/tests/jms-tests/src/org/hornetq/jms/tests/message/JMSXDeliveryCountTest.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/tests/jms-tests/src/org/hornetq/jms/tests/message/JMSXDeliveryCountTest.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -499,7 +499,7 @@
 
          producer.send(tm);
 
-         xaConn = ((XAConnectionFactory)getConnectionFactory()).createXAConnection();
+         xaConn = ((XAConnectionFactory)getXAConnectionFactory()).createXAConnection();
 
          XASession consumerSess = xaConn.createXASession();
          MessageConsumer consumer = consumerSess.createConsumer(HornetQServerTestCase.queue1);

Modified: branches/HORNETQ-515/tests/jms-tests/src/org/hornetq/jms/tests/tools/container/LocalTestServer.java
===================================================================
--- branches/HORNETQ-515/tests/jms-tests/src/org/hornetq/jms/tests/tools/container/LocalTestServer.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/tests/jms-tests/src/org/hornetq/jms/tests/tools/container/LocalTestServer.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -38,6 +38,7 @@
 import org.hornetq.core.server.HornetQServer;
 import org.hornetq.integration.bootstrap.HornetQBootstrapServer;
 import org.hornetq.jms.server.JMSServerManager;
+import org.hornetq.jms.server.impl.JMSFactoryType;
 import org.jboss.kernel.plugins.config.property.PropertyKernelConfig;
 
 /**
@@ -321,6 +322,7 @@
                                                     HornetQClient.DEFAULT_FAILOVER_ON_INITIAL_CONNECTION,
                                                     HornetQClient.DEFAULT_FAILOVER_ON_SERVER_SHUTDOWN,
                                                     null,
+                                                    JMSFactoryType.CF,
                                                     jndiBindings);
    }
 

Modified: branches/HORNETQ-515/tests/joram-tests/src/org/hornetq/jms/HornetQAdmin.java
===================================================================
--- branches/HORNETQ-515/tests/joram-tests/src/org/hornetq/jms/HornetQAdmin.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/tests/joram-tests/src/org/hornetq/jms/HornetQAdmin.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -129,7 +129,19 @@
 
    public void createQueueConnectionFactory(final String name)
    {
-      createConnectionFactory(name);
+      try
+      {
+         invokeSyncOperation(ResourceNames.JMS_SERVER,
+                             "createQueueConnectionFactory",
+                             name,
+                             NettyConnectorFactory.class.getName(),
+                             new HashMap<String, Object>(),
+                             new String[] { name });
+      }
+      catch (Exception e)
+      {
+         throw new IllegalStateException(e);
+      }
    }
 
    public void createTopic(final String name)
@@ -148,7 +160,19 @@
 
    public void createTopicConnectionFactory(final String name)
    {
-      createConnectionFactory(name);
+      try
+      {
+         invokeSyncOperation(ResourceNames.JMS_SERVER,
+                             "createTopicConnectionFactory",
+                             name,
+                             NettyConnectorFactory.class.getName(),
+                             new HashMap<String, Object>(),
+                             new String[] { name });
+      }
+      catch (Exception e)
+      {
+         throw new IllegalStateException(e);
+      }
    }
 
    public void deleteConnectionFactory(final String name)

Modified: branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/FloodServerTest.java
===================================================================
--- branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/FloodServerTest.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/FloodServerTest.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -35,6 +35,7 @@
 import org.hornetq.core.remoting.impl.netty.NettyConnectorFactory;
 import org.hornetq.core.server.HornetQServer;
 import org.hornetq.core.server.HornetQServers;
+import org.hornetq.jms.server.impl.JMSFactoryType;
 import org.hornetq.jms.server.impl.JMSServerManagerImpl;
 import org.hornetq.tests.unit.util.InVMContext;
 import org.hornetq.tests.util.UnitTestCase;
@@ -159,6 +160,7 @@
                                             HornetQClient.DEFAULT_FAILOVER_ON_INITIAL_CONNECTION,
                                             failoverOnServerShutdown,
                                             null,
+                                            JMSFactoryType.CF,
                                             "/cf");
    }
 

Modified: branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/HornetQConnectionFactoryTest.java
===================================================================
--- branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/HornetQConnectionFactoryTest.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/HornetQConnectionFactoryTest.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -28,6 +28,7 @@
 import org.hornetq.api.core.client.ClientSessionFactory;
 import org.hornetq.api.core.client.HornetQClient;
 import org.hornetq.jms.client.HornetQConnectionFactory;
+import org.hornetq.jms.server.impl.JMSFactoryType;
 import org.hornetq.api.jms.HornetQJMSClient;
 import org.hornetq.core.config.BroadcastGroupConfiguration;
 import org.hornetq.core.config.Configuration;
@@ -172,7 +173,7 @@
 
    public void testDiscoveryConstructor() throws Exception
    {
-      HornetQConnectionFactory cf = (HornetQConnectionFactory) HornetQJMSClient.createConnectionFactory(groupAddress, groupPort);
+      HornetQConnectionFactory cf = (HornetQConnectionFactory) HornetQJMSClient.createConnectionFactory(groupAddress, groupPort, JMSFactoryType.CF);
       assertFactoryParams(cf,
                           null,
                           groupAddress,
@@ -219,7 +220,7 @@
                                                                                                                             backupTC);
       staticConnectors.add(pair0);
 
-      HornetQConnectionFactory cf = (HornetQConnectionFactory) HornetQJMSClient.createConnectionFactory(staticConnectors);
+      HornetQConnectionFactory cf = (HornetQConnectionFactory) HornetQJMSClient.createConnectionFactory(staticConnectors, JMSFactoryType.CF);
       assertFactoryParams(cf,
                           staticConnectors,
                           null,
@@ -267,7 +268,7 @@
                                                                                                                             backupTC);
       staticConnectors.add(pair0);
 
-      HornetQConnectionFactory cf = (HornetQConnectionFactory) HornetQJMSClient.createConnectionFactory(liveTC, backupTC);
+      HornetQConnectionFactory cf = (HornetQConnectionFactory) HornetQJMSClient.createConnectionFactory(liveTC, backupTC, JMSFactoryType.CF);
       assertFactoryParams(cf,
                           staticConnectors,
                           null,

Modified: branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/bridge/BridgeTestBase.java
===================================================================
--- branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/bridge/BridgeTestBase.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/bridge/BridgeTestBase.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -28,6 +28,7 @@
 import javax.jms.Session;
 import javax.jms.TextMessage;
 import javax.jms.Topic;
+import javax.jms.XAConnectionFactory;
 import javax.transaction.TransactionManager;
 
 import junit.framework.Assert;
@@ -50,8 +51,9 @@
 import org.hornetq.jms.bridge.ConnectionFactoryFactory;
 import org.hornetq.jms.bridge.DestinationFactory;
 import org.hornetq.jms.bridge.QualityOfServiceMode;
-import org.hornetq.jms.client.HornetQConnectionFactory;
+import org.hornetq.jms.client.HornetQJMSConnectionFactory;
 import org.hornetq.jms.client.HornetQMessage;
+import org.hornetq.jms.client.HornetQXAConnectionFactory;
 import org.hornetq.jms.server.JMSServerManager;
 import org.hornetq.jms.server.impl.JMSServerManagerImpl;
 import org.hornetq.tests.unit.util.InVMContext;
@@ -73,8 +75,12 @@
 
    protected ConnectionFactoryFactory cff0, cff1;
 
+   protected ConnectionFactoryFactory cff0xa, cff1xa;
+
    protected ConnectionFactory cf0, cf1;
 
+   protected XAConnectionFactory cf0xa, cf1xa;
+
    protected DestinationFactory sourceQueueFactory, targetQueueFactory, localTargetQueueFactory, sourceTopicFactory;
 
    protected Queue sourceQueue, targetQueue, localTargetQueue;
@@ -173,8 +179,12 @@
       server0.stop();
 
       cff0 = cff1 = null;
+      
+      cff0xa = cff1xa = null;
 
       cf0 = cf1 = null;
+      
+      cf0xa = cf1xa = null;
 
       sourceQueueFactory = targetQueueFactory = localTargetQueueFactory = sourceTopicFactory = null;
 
@@ -203,7 +213,7 @@
       {
          public ConnectionFactory createConnectionFactory() throws Exception
          {
-            HornetQConnectionFactory cf = (HornetQConnectionFactory) HornetQJMSClient.createConnectionFactory(new TransportConfiguration(InVMConnectorFactory.class.getName()));
+            HornetQJMSConnectionFactory cf = (HornetQJMSConnectionFactory) HornetQJMSClient.createConnectionFactory(new TransportConfiguration(InVMConnectorFactory.class.getName()));
 
             // Note! We disable automatic reconnection on the session factory. The bridge needs to do the reconnection
             cf.setReconnectAttempts(0);
@@ -216,14 +226,32 @@
 
       };
 
-      cf0 = cff0.createConnectionFactory();
+      cff0xa = new ConnectionFactoryFactory()
+      {
+         public Object createConnectionFactory() throws Exception
+         {
+            HornetQXAConnectionFactory cf = HornetQJMSClient.createXAConnectionFactory(new TransportConfiguration(InVMConnectorFactory.class.getName()));
 
+            // Note! We disable automatic reconnection on the session factory. The bridge needs to do the reconnection
+            cf.setReconnectAttempts(0);
+            cf.setBlockOnNonDurableSend(true);
+            cf.setBlockOnDurableSend(true);
+            cf.setCacheLargeMessagesClient(true);
+
+            return cf;
+         }
+
+      };
+
+      cf0 = (ConnectionFactory)cff0.createConnectionFactory();
+      cf0xa = (XAConnectionFactory)cff0xa.createConnectionFactory();
+
       cff1 = new ConnectionFactoryFactory()
       {
 
          public ConnectionFactory createConnectionFactory() throws Exception
          {
-            HornetQConnectionFactory cf = (HornetQConnectionFactory) HornetQJMSClient.createConnectionFactory(new TransportConfiguration(InVMConnectorFactory.class.getName(),
+            HornetQJMSConnectionFactory cf = (HornetQJMSConnectionFactory) HornetQJMSClient.createConnectionFactory(new TransportConfiguration(InVMConnectorFactory.class.getName(),
                                                                                                   params1));
 
             // Note! We disable automatic reconnection on the session factory. The bridge needs to do the reconnection
@@ -236,8 +264,27 @@
          }
       };
 
-      cf1 = cff1.createConnectionFactory();
+      cff1xa = new ConnectionFactoryFactory()
+      {
 
+         public XAConnectionFactory createConnectionFactory() throws Exception
+         {
+            HornetQXAConnectionFactory cf = (HornetQXAConnectionFactory) HornetQJMSClient.createXAConnectionFactory(new TransportConfiguration(InVMConnectorFactory.class.getName(),
+                                                                                                  params1));
+
+            // Note! We disable automatic reconnection on the session factory. The bridge needs to do the reconnection
+            cf.setReconnectAttempts(0);
+            cf.setBlockOnNonDurableSend(true);
+            cf.setBlockOnDurableSend(true);
+            cf.setCacheLargeMessagesClient(true);
+
+            return cf;
+         }
+      };
+
+      cf1 = (ConnectionFactory)cff1.createConnectionFactory();
+      cf1xa = (XAConnectionFactory)cff1xa.createConnectionFactory();
+
       sourceQueueFactory = new DestinationFactory()
       {
          public Destination createDestination() throws Exception

Modified: branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/bridge/JMSBridgeReconnectionTest.java
===================================================================
--- branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/bridge/JMSBridgeReconnectionTest.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/bridge/JMSBridgeReconnectionTest.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -18,6 +18,7 @@
 import junit.framework.Assert;
 
 import org.hornetq.core.logging.Logger;
+import org.hornetq.jms.bridge.ConnectionFactoryFactory;
 import org.hornetq.jms.bridge.QualityOfServiceMode;
 import org.hornetq.jms.bridge.impl.JMSBridgeImpl;
 
@@ -196,10 +197,18 @@
    {
       JMSBridgeImpl bridge = null;
 
+      ConnectionFactoryFactory factInUse0 = cff0;
+      ConnectionFactoryFactory factInUse1 = cff1;
+      if (qosMode.equals(QualityOfServiceMode.ONCE_AND_ONLY_ONCE))
+      {
+         factInUse0 = cff0xa;
+         factInUse1 = cff1xa;
+      }
+
       try
       {
-         bridge = new JMSBridgeImpl(cff0,
-                                    cff1,
+         bridge = new JMSBridgeImpl(factInUse0,
+                                    factInUse1,
                                     sourceQueueFactory,
                                     targetQueueFactory,
                                     null,
@@ -290,8 +299,8 @@
 
       try
       {
-         bridge = new JMSBridgeImpl(cff0,
-                                    cff1,
+         bridge = new JMSBridgeImpl(cff0xa,
+                                    cff1xa,
                                     sourceQueueFactory,
                                     targetQueueFactory,
                                     null,

Modified: branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/bridge/JMSBridgeTest.java
===================================================================
--- branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/bridge/JMSBridgeTest.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/bridge/JMSBridgeTest.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -33,6 +33,7 @@
 
 import org.hornetq.api.jms.HornetQJMSConstants;
 import org.hornetq.core.logging.Logger;
+import org.hornetq.jms.bridge.ConnectionFactoryFactory;
 import org.hornetq.jms.bridge.QualityOfServiceMode;
 import org.hornetq.jms.bridge.impl.JMSBridgeImpl;
 import org.hornetq.jms.client.HornetQMessage;
@@ -1444,10 +1445,18 @@
 
       Thread t = null;
 
+      ConnectionFactoryFactory factInUse0 = cff0;
+      ConnectionFactoryFactory factInUse1 = cff1;
+      if (qosMode.equals(QualityOfServiceMode.ONCE_AND_ONLY_ONCE))
+      {
+         factInUse0 = cff0xa;
+         factInUse1 = cff1xa;
+      }
+
       try
       {
-         bridge = new JMSBridgeImpl(cff0,
-                                    cff1,
+         bridge = new JMSBridgeImpl(factInUse0,
+                                    factInUse1,
                                     sourceQueueFactory,
                                     targetQueueFactory,
                                     null,
@@ -1530,10 +1539,18 @@
 
       Thread t = null;
 
+      ConnectionFactoryFactory factInUse0 = cff0;
+      ConnectionFactoryFactory factInUse1 = cff1;
+      if (qosMode.equals(QualityOfServiceMode.ONCE_AND_ONLY_ONCE))
+      {
+         factInUse0 = cff0xa;
+         factInUse1 = cff1xa;
+      }
+
       try
       {
-         bridge = new JMSBridgeImpl(cff0,
-                                    cff1,
+         bridge = new JMSBridgeImpl(factInUse0,
+                                    factInUse1,
                                     sourceQueueFactory,
                                     targetQueueFactory,
                                     null,
@@ -1617,10 +1634,16 @@
 
       Thread t = null;
 
+      ConnectionFactoryFactory factInUse0 = cff0;
+      if (qosMode.equals(QualityOfServiceMode.ONCE_AND_ONLY_ONCE))
+      {
+         factInUse0 = cff0xa;
+      }
+
       try
       {
-         bridge = new JMSBridgeImpl(cff0,
-                                    cff0,
+         bridge = new JMSBridgeImpl(factInUse0,
+                                    factInUse0,
                                     sourceQueueFactory,
                                     localTargetQueueFactory,
                                     null,
@@ -1699,12 +1722,19 @@
    {
       JMSBridgeImpl bridge = null;
 
+      ConnectionFactoryFactory factInUse0 = cff0;
+      ConnectionFactoryFactory factInUse1 = cff1;
+      if (qosMode.equals(QualityOfServiceMode.ONCE_AND_ONLY_ONCE))
+      {
+         factInUse0 = cff0xa;
+         factInUse1 = cff1xa;
+      }
       try
       {
          final int NUM_MESSAGES = 10;
 
-         bridge = new JMSBridgeImpl(cff0,
-                                    cff1,
+         bridge = new JMSBridgeImpl(factInUse0,
+                                    factInUse1,
                                     sourceQueueFactory,
                                     targetQueueFactory,
                                     null,
@@ -1770,12 +1800,18 @@
    {
       JMSBridgeImpl bridge = null;
 
+      ConnectionFactoryFactory factInUse0 = cff0;
+      if (qosMode.equals(QualityOfServiceMode.ONCE_AND_ONLY_ONCE))
+      {
+         factInUse0 = cff0xa;
+      }
+
       try
       {
          final int NUM_MESSAGES = 10;
 
-         bridge = new JMSBridgeImpl(cff0,
-                                    cff0,
+         bridge = new JMSBridgeImpl(factInUse0,
+                                    factInUse0,
                                     sourceQueueFactory,
                                     localTargetQueueFactory,
                                     null,
@@ -1840,14 +1876,22 @@
    {
       JMSBridgeImpl bridge = null;
 
+      ConnectionFactoryFactory factInUse0 = cff0;
+      ConnectionFactoryFactory factInUse1 = cff1;
+      if (qosMode.equals(QualityOfServiceMode.ONCE_AND_ONLY_ONCE))
+      {
+         factInUse0 = cff0xa;
+         factInUse1 = cff1xa;
+      }
+
       try
       {
          final long MAX_BATCH_TIME = 3000;
 
          final int MAX_BATCH_SIZE = 100000; // something big so it won't reach it
 
-         bridge = new JMSBridgeImpl(cff0,
-                                    cff1,
+         bridge = new JMSBridgeImpl(factInUse0,
+                                    factInUse1,
                                     sourceQueueFactory,
                                     targetQueueFactory,
                                     null,
@@ -1894,14 +1938,20 @@
    {
       JMSBridgeImpl bridge = null;
 
+      ConnectionFactoryFactory factInUse0 = cff0;
+      if (qosMode.equals(QualityOfServiceMode.ONCE_AND_ONLY_ONCE))
+      {
+         factInUse0 = cff0xa;
+      }
+
       try
       {
          final long MAX_BATCH_TIME = 3000;
 
          final int MAX_BATCH_SIZE = 100000; // something big so it won't reach it
 
-         bridge = new JMSBridgeImpl(cff0,
-                                    cff0,
+         bridge = new JMSBridgeImpl(factInUse0,
+                                    factInUse0,
                                     sourceQueueFactory,
                                     localTargetQueueFactory,
                                     null,

Modified: branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/client/AutoGroupingTest.java
===================================================================
--- branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/client/AutoGroupingTest.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/client/AutoGroupingTest.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -19,7 +19,7 @@
 import org.hornetq.api.core.TransportConfiguration;
 import org.hornetq.api.jms.HornetQJMSClient;
 import org.hornetq.core.remoting.impl.netty.NettyConnectorFactory;
-import org.hornetq.jms.client.HornetQConnectionFactory;
+import org.hornetq.jms.client.HornetQJMSConnectionFactory;
 
 /**
  * A AutoGroupingTest
@@ -34,7 +34,7 @@
    @Override
    protected ConnectionFactory getCF() throws Exception
    {
-      HornetQConnectionFactory cf = HornetQJMSClient.createConnectionFactory(new TransportConfiguration(NettyConnectorFactory.class.getName()));
+      HornetQJMSConnectionFactory cf = HornetQJMSClient.createConnectionFactory(new TransportConfiguration(NettyConnectorFactory.class.getName()));
       
       cf.setAutoGroup(true);
       

Modified: branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/client/GroupIDTest.java
===================================================================
--- branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/client/GroupIDTest.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/client/GroupIDTest.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -19,7 +19,7 @@
 import org.hornetq.api.core.TransportConfiguration;
 import org.hornetq.api.jms.HornetQJMSClient;
 import org.hornetq.core.remoting.impl.netty.NettyConnectorFactory;
-import org.hornetq.jms.client.HornetQConnectionFactory;
+import org.hornetq.jms.client.HornetQJMSConnectionFactory;
 
 /**
  * A GroupIDTest
@@ -34,7 +34,7 @@
    @Override
    protected ConnectionFactory getCF() throws Exception
    {
-      HornetQConnectionFactory cf = HornetQJMSClient.createConnectionFactory(new TransportConfiguration(NettyConnectorFactory.class.getName()));
+      HornetQJMSConnectionFactory cf = HornetQJMSClient.createConnectionFactory(new TransportConfiguration(NettyConnectorFactory.class.getName()));
       
       cf.setGroupID("wibble");
       

Modified: branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/client/PreACKJMSTest.java
===================================================================
--- branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/client/PreACKJMSTest.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/client/PreACKJMSTest.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -27,6 +27,7 @@
 import org.hornetq.api.core.Pair;
 import org.hornetq.api.core.TransportConfiguration;
 import org.hornetq.api.core.client.HornetQClient;
+import org.hornetq.jms.server.impl.JMSFactoryType;
 import org.hornetq.tests.util.JMSTestBase;
 
 /**
@@ -229,6 +230,7 @@
                                         HornetQClient.DEFAULT_FAILOVER_ON_INITIAL_CONNECTION,
                                         failoverOnServerShutdown,
                                         null,
+                                        JMSFactoryType.CF,
                                         jndiBindings);
    }
 

Modified: branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/client/ReSendMessageTest.java
===================================================================
--- branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/client/ReSendMessageTest.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/client/ReSendMessageTest.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -34,6 +34,7 @@
 import org.hornetq.api.core.TransportConfiguration;
 import org.hornetq.api.core.client.HornetQClient;
 import org.hornetq.api.jms.HornetQJMSConstants;
+import org.hornetq.jms.server.impl.JMSFactoryType;
 import org.hornetq.tests.util.JMSTestBase;
 import org.hornetq.tests.util.UnitTestCase;
 
@@ -328,6 +329,7 @@
                                         HornetQClient.DEFAULT_FAILOVER_ON_INITIAL_CONNECTION,
                                         failoverOnServerShutdown,
                                         null,
+                                        JMSFactoryType.CF,
                                         jndiBindings);
    }
 

Modified: branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/client/SessionClosedOnRemotingConnectionFailureTest.java
===================================================================
--- branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/client/SessionClosedOnRemotingConnectionFailureTest.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/client/SessionClosedOnRemotingConnectionFailureTest.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -34,6 +34,7 @@
 import org.hornetq.core.logging.Logger;
 import org.hornetq.core.remoting.impl.netty.NettyConnectorFactory;
 import org.hornetq.jms.client.HornetQSession;
+import org.hornetq.jms.server.impl.JMSFactoryType;
 import org.hornetq.spi.core.protocol.RemotingConnection;
 import org.hornetq.tests.util.JMSTestBase;
 
@@ -97,6 +98,7 @@
                                         HornetQClient.DEFAULT_FAILOVER_ON_INITIAL_CONNECTION,
                                         false,
                                         null,
+                                        JMSFactoryType.CF,
                                         "/cffoo");
 
       cf = (ConnectionFactory)context.lookup("/cffoo");

Modified: branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/client/TextMessageTest.java
===================================================================
--- branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/client/TextMessageTest.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/client/TextMessageTest.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -27,6 +27,7 @@
 import org.hornetq.api.core.Pair;
 import org.hornetq.api.core.TransportConfiguration;
 import org.hornetq.api.core.client.HornetQClient;
+import org.hornetq.jms.server.impl.JMSFactoryType;
 import org.hornetq.tests.util.JMSTestBase;
 import org.hornetq.tests.util.RandomUtil;
 
@@ -264,6 +265,7 @@
                                         HornetQClient.DEFAULT_FAILOVER_ON_INITIAL_CONNECTION,
                                         failoverOnServerShutdown,
                                         null,
+                                        JMSFactoryType.CF,
                                         jndiBindings);
    }
 

Modified: branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/cluster/JMSFailoverTest.java
===================================================================
--- branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/cluster/JMSFailoverTest.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/cluster/JMSFailoverTest.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -47,6 +47,7 @@
 import org.hornetq.jms.client.HornetQDestination;
 import org.hornetq.jms.client.HornetQSession;
 import org.hornetq.jms.server.JMSServerManager;
+import org.hornetq.jms.server.impl.JMSFactoryType;
 import org.hornetq.jms.server.impl.JMSServerManagerImpl;
 import org.hornetq.spi.core.protocol.RemotingConnection;
 import org.hornetq.tests.unit.util.InVMContext;
@@ -159,7 +160,7 @@
    {
       HornetQConnectionFactory jbcf = (HornetQConnectionFactory) HornetQJMSClient.createConnectionFactory(new TransportConfiguration("org.hornetq.core.remoting.impl.invm.InVMConnectorFactory"),
                                                                    new TransportConfiguration("org.hornetq.core.remoting.impl.invm.InVMConnectorFactory",
-                                                                                              backupParams));
+                                                                                              backupParams), JMSFactoryType.CF);
 
       jbcf.setBlockOnDurableSend(true);
       jbcf.setBlockOnNonDurableSend(true);

Modified: branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/divert/DivertAndACKClientTest.java
===================================================================
--- branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/divert/DivertAndACKClientTest.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/divert/DivertAndACKClientTest.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -30,6 +30,7 @@
 import org.hornetq.api.core.client.HornetQClient;
 import org.hornetq.core.config.Configuration;
 import org.hornetq.core.config.DivertConfiguration;
+import org.hornetq.jms.server.impl.JMSFactoryType;
 import org.hornetq.tests.util.JMSTestBase;
 
 /**
@@ -175,6 +176,7 @@
                                         HornetQClient.DEFAULT_FAILOVER_ON_INITIAL_CONNECTION,
                                         failoverOnServerShutdown,
                                         null,
+                                        JMSFactoryType.CF,
                                         jndiBindings);
    }
 

Modified: branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/server/management/JMSUtil.java
===================================================================
--- branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/server/management/JMSUtil.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/jms/server/management/JMSUtil.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -28,6 +28,7 @@
 
 import org.hornetq.api.core.TransportConfiguration;
 import org.hornetq.jms.client.HornetQConnectionFactory;
+import org.hornetq.jms.client.HornetQJMSConnectionFactory;
 import org.hornetq.api.jms.HornetQJMSClient;
 import org.hornetq.core.remoting.impl.invm.InVMConnectorFactory;
 import org.hornetq.tests.util.RandomUtil;
@@ -65,7 +66,7 @@
                                                  final long connectionTTL,
                                                  final long clientFailureCheckPeriod) throws JMSException
    {
-      HornetQConnectionFactory cf = (HornetQConnectionFactory) HornetQJMSClient.createConnectionFactory(new TransportConfiguration(connectorFactory));
+      HornetQJMSConnectionFactory cf = (HornetQJMSConnectionFactory) HornetQJMSClient.createConnectionFactory(new TransportConfiguration(connectorFactory));
 
       cf.setBlockOnNonDurableSend(true);
       cf.setBlockOnDurableSend(true);
@@ -103,7 +104,7 @@
 
    public static String[] sendMessages(final Destination destination, final int messagesToSend) throws Exception
    {
-      HornetQConnectionFactory cf = (HornetQConnectionFactory) HornetQJMSClient.createConnectionFactory(new TransportConfiguration(InVMConnectorFactory.class.getName()));
+      HornetQJMSConnectionFactory cf = (HornetQJMSConnectionFactory) HornetQJMSClient.createConnectionFactory(new TransportConfiguration(InVMConnectorFactory.class.getName()));
       return JMSUtil.sendMessages(cf, destination, messagesToSend);
    }
 

Modified: branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/stomp/StompTestBase.java
===================================================================
--- branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/stomp/StompTestBase.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/tests/src/org/hornetq/tests/integration/stomp/StompTestBase.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -47,7 +47,7 @@
 import org.hornetq.core.remoting.impl.netty.TransportConstants;
 import org.hornetq.core.server.HornetQServer;
 import org.hornetq.core.server.HornetQServers;
-import org.hornetq.jms.client.HornetQConnectionFactory;
+import org.hornetq.jms.client.HornetQJMSConnectionFactory;
 import org.hornetq.jms.server.JMSServerManager;
 import org.hornetq.jms.server.config.JMSConfiguration;
 import org.hornetq.jms.server.config.impl.JMSConfigurationImpl;
@@ -161,7 +161,7 @@
 
    protected ConnectionFactory createConnectionFactory()
    {
-      return new HornetQConnectionFactory(new TransportConfiguration(InVMConnectorFactory.class.getName()));
+      return new HornetQJMSConnectionFactory(new TransportConfiguration(InVMConnectorFactory.class.getName()));
    }
 
    protected Socket createSocket() throws IOException

Modified: branches/HORNETQ-515/tests/src/org/hornetq/tests/timing/jms/bridge/impl/JMSBridgeImplTest.java
===================================================================
--- branches/HORNETQ-515/tests/src/org/hornetq/tests/timing/jms/bridge/impl/JMSBridgeImplTest.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/tests/src/org/hornetq/tests/timing/jms/bridge/impl/JMSBridgeImplTest.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -53,6 +53,7 @@
 import org.hornetq.jms.bridge.QualityOfServiceMode;
 import org.hornetq.jms.bridge.impl.JMSBridgeImpl;
 import org.hornetq.jms.client.HornetQConnectionFactory;
+import org.hornetq.jms.client.HornetQJMSConnectionFactory;
 import org.hornetq.jms.server.JMSServerManager;
 import org.hornetq.jms.server.impl.JMSServerManagerImpl;
 import org.hornetq.tests.unit.util.InVMContext;
@@ -157,7 +158,7 @@
 
    private static ConnectionFactory createConnectionFactory()
    {
-      HornetQConnectionFactory cf = (HornetQConnectionFactory) HornetQJMSClient.createConnectionFactory(new TransportConfiguration(InVMConnectorFactory.class.getName()));
+      HornetQJMSConnectionFactory cf = (HornetQJMSConnectionFactory) HornetQJMSClient.createConnectionFactory(new TransportConfiguration(InVMConnectorFactory.class.getName()));
       // Note! We disable automatic reconnection on the session factory. The bridge needs to do the reconnection
       cf.setReconnectAttempts(0);
       cf.setBlockOnNonDurableSend(true);
@@ -171,8 +172,10 @@
 
    public void testStartWithRepeatedFailure() throws Exception
    {
-      HornetQConnectionFactory failingSourceCF = new HornetQConnectionFactory(new TransportConfiguration(InVMConnectorFactory.class.getName()))
+      HornetQJMSConnectionFactory failingSourceCF = new HornetQJMSConnectionFactory(new TransportConfiguration(InVMConnectorFactory.class.getName()))
       {
+         private static final long serialVersionUID = -2142578705002528826L;
+
          @Override
          public Connection createConnection() throws JMSException
          {
@@ -212,8 +215,9 @@
 
    public void testStartWithFailureThenSuccess() throws Exception
    {
-      HornetQConnectionFactory failingSourceCF = new HornetQConnectionFactory(new TransportConfiguration(InVMConnectorFactory.class.getName()))
+      HornetQJMSConnectionFactory failingSourceCF = new HornetQJMSConnectionFactory(new TransportConfiguration(InVMConnectorFactory.class.getName()))
       {
+         private static final long serialVersionUID = 1274250681150776714L;
          boolean firstTime = true;
 
          @Override
@@ -410,8 +414,10 @@
    public void testExceptionOnSourceAndRetrySucceeds() throws Exception
    {
       final AtomicReference<Connection> sourceConn = new AtomicReference<Connection>();
-      HornetQConnectionFactory failingSourceCF = new HornetQConnectionFactory(new TransportConfiguration(InVMConnectorFactory.class.getName()))
+      HornetQJMSConnectionFactory failingSourceCF = new HornetQJMSConnectionFactory(new TransportConfiguration(InVMConnectorFactory.class.getName()))
       {
+         private static final long serialVersionUID = -6930787952179727779L;
+
          @Override
          public Connection createConnection() throws JMSException
          {
@@ -460,8 +466,9 @@
    public void testExceptionOnSourceAndRetryFails() throws Exception
    {
       final AtomicReference<Connection> sourceConn = new AtomicReference<Connection>();
-      HornetQConnectionFactory failingSourceCF = new HornetQConnectionFactory(new TransportConfiguration(InVMConnectorFactory.class.getName()))
+      HornetQJMSConnectionFactory failingSourceCF = new HornetQJMSConnectionFactory(new TransportConfiguration(InVMConnectorFactory.class.getName()))
       {
+         private static final long serialVersionUID = 4163579449500727852L;
          boolean firstTime = true;
 
          @Override

Modified: branches/HORNETQ-515/tests/src/org/hornetq/tests/util/JMSTestBase.java
===================================================================
--- branches/HORNETQ-515/tests/src/org/hornetq/tests/util/JMSTestBase.java	2010-10-10 00:51:36 UTC (rev 9761)
+++ branches/HORNETQ-515/tests/src/org/hornetq/tests/util/JMSTestBase.java	2010-10-10 12:15:41 UTC (rev 9762)
@@ -29,6 +29,7 @@
 import org.hornetq.core.remoting.impl.netty.NettyConnectorFactory;
 import org.hornetq.core.server.HornetQServer;
 import org.hornetq.core.server.HornetQServers;
+import org.hornetq.jms.server.impl.JMSFactoryType;
 import org.hornetq.jms.server.impl.JMSServerManagerImpl;
 import org.hornetq.tests.unit.util.InVMContext;
 
@@ -213,6 +214,7 @@
                                         HornetQClient.DEFAULT_FAILOVER_ON_INITIAL_CONNECTION,
                                         failoverOnServerShutdown,
                                         null,
+                                        JMSFactoryType.CF,
                                         jndiBindings);
    }
 



More information about the hornetq-commits mailing list