[jboss-cvs] JBoss Messaging SVN: r5773 - in branches/Branch_JBMESSAGING_1416: docs and 54 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Feb 2 05:42:55 EST 2009


Author: gaohoward
Date: 2009-02-02 05:42:54 -0500 (Mon, 02 Feb 2009)
New Revision: 5773

Added:
   branches/Branch_JBMESSAGING_1416/docs/examples/bridge/build.xml.AS5
   branches/Branch_JBMESSAGING_1416/docs/examples/destinations/
   branches/Branch_JBMESSAGING_1416/docs/examples/destinations/jbm-examples-destinations-service.xml
   branches/Branch_JBMESSAGING_1416/docs/examples/distributed-queue/build.xml.AS5
   branches/Branch_JBMESSAGING_1416/docs/examples/distributed-topic/build.xml.AS5
   branches/Branch_JBMESSAGING_1416/docs/examples/ejb3mdb/build.xml.AS5
   branches/Branch_JBMESSAGING_1416/docs/examples/http/build.xml.AS5
   branches/Branch_JBMESSAGING_1416/docs/examples/mdb-failure/build.xml.AS5
   branches/Branch_JBMESSAGING_1416/docs/examples/mdb/build.xml.AS5
   branches/Branch_JBMESSAGING_1416/docs/examples/queue-failover/build.xml.AS5
   branches/Branch_JBMESSAGING_1416/docs/examples/queue/build.xml.AS5
   branches/Branch_JBMESSAGING_1416/docs/examples/secure-socket/build.xml.AS5
   branches/Branch_JBMESSAGING_1416/docs/examples/servlet/
   branches/Branch_JBMESSAGING_1416/docs/examples/servlet/README.html
   branches/Branch_JBMESSAGING_1416/docs/examples/servlet/build.xml
   branches/Branch_JBMESSAGING_1416/docs/examples/servlet/etc/
   branches/Branch_JBMESSAGING_1416/docs/examples/servlet/etc/jndi.properties
   branches/Branch_JBMESSAGING_1416/docs/examples/servlet/etc/log4j.xml
   branches/Branch_JBMESSAGING_1416/docs/examples/servlet/etc/messaging-servlet-service.xml
   branches/Branch_JBMESSAGING_1416/docs/examples/servlet/src/
   branches/Branch_JBMESSAGING_1416/docs/examples/servlet/src/org/
   branches/Branch_JBMESSAGING_1416/docs/examples/servlet/src/org/jboss/
   branches/Branch_JBMESSAGING_1416/docs/examples/servlet/src/org/jboss/example/
   branches/Branch_JBMESSAGING_1416/docs/examples/servlet/src/org/jboss/example/jms/
   branches/Branch_JBMESSAGING_1416/docs/examples/servlet/src/org/jboss/example/jms/servlet/
   branches/Branch_JBMESSAGING_1416/docs/examples/servlet/src/org/jboss/example/jms/servlet/ServletExample.java
   branches/Branch_JBMESSAGING_1416/docs/examples/stateless-clustered/build.xml.AS5
   branches/Branch_JBMESSAGING_1416/docs/examples/stateless/build.xml.AS5
   branches/Branch_JBMESSAGING_1416/docs/examples/topic/build.xml.AS5
   branches/Branch_JBMESSAGING_1416/docs/examples/web-service/build.xml.AS5
   branches/Branch_JBMESSAGING_1416/integration/EAP4/etc/remoting/remoting-servlet-service.xml
   branches/Branch_JBMESSAGING_1416/integration/EAP4/etc/remoting/servlet-invoker.war/
   branches/Branch_JBMESSAGING_1416/integration/EAP4/etc/remoting/servlet-invoker.war/WEB-INF/
   branches/Branch_JBMESSAGING_1416/integration/EAP4/etc/remoting/servlet-invoker.war/WEB-INF/web.xml
   branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/client/SecurityActions.java
   branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/server/connectionfactory/SecurityActions.java
   branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/wireformat/SecurityActions.java
   branches/Branch_JBMESSAGING_1416/src/main/org/jboss/messaging/util/SecurityActions.java
   branches/Branch_JBMESSAGING_1416/tests/bin/loop-clustered
Removed:
   branches/Branch_JBMESSAGING_1416/docs/examples/destinations/jbm-examples-destinations-service.xml
   branches/Branch_JBMESSAGING_1416/docs/examples/ejb3mdb/etc/META-INF/ejb-jar.xml
   branches/Branch_JBMESSAGING_1416/docs/examples/ejb3mdb/etc/META-INF/jboss.xml
   branches/Branch_JBMESSAGING_1416/docs/examples/servlet/README.html
   branches/Branch_JBMESSAGING_1416/docs/examples/servlet/build.xml
   branches/Branch_JBMESSAGING_1416/docs/examples/servlet/etc/
   branches/Branch_JBMESSAGING_1416/docs/examples/servlet/etc/jndi.properties
   branches/Branch_JBMESSAGING_1416/docs/examples/servlet/etc/log4j.xml
   branches/Branch_JBMESSAGING_1416/docs/examples/servlet/etc/messaging-servlet-service.xml
   branches/Branch_JBMESSAGING_1416/docs/examples/servlet/src/
   branches/Branch_JBMESSAGING_1416/docs/examples/servlet/src/org/
   branches/Branch_JBMESSAGING_1416/docs/examples/servlet/src/org/jboss/
   branches/Branch_JBMESSAGING_1416/docs/examples/servlet/src/org/jboss/example/
   branches/Branch_JBMESSAGING_1416/docs/examples/servlet/src/org/jboss/example/jms/
   branches/Branch_JBMESSAGING_1416/docs/examples/servlet/src/org/jboss/example/jms/servlet/
   branches/Branch_JBMESSAGING_1416/docs/examples/servlet/src/org/jboss/example/jms/servlet/ServletExample.java
   branches/Branch_JBMESSAGING_1416/integration/EAP4/etc/remoting/servlet-invoker.war/WEB-INF/
   branches/Branch_JBMESSAGING_1416/integration/EAP4/etc/remoting/servlet-invoker.war/WEB-INF/web.xml
Modified:
   branches/Branch_JBMESSAGING_1416/build-messaging-AS5.xml
   branches/Branch_JBMESSAGING_1416/build-messaging-EAP4.xml
   branches/Branch_JBMESSAGING_1416/build-messaging.xml
   branches/Branch_JBMESSAGING_1416/build-thirdparty-AS5.xml
   branches/Branch_JBMESSAGING_1416/build-thirdparty-EAP4.xml
   branches/Branch_JBMESSAGING_1416/docs/README.html
   branches/Branch_JBMESSAGING_1416/docs/examples/
   branches/Branch_JBMESSAGING_1416/docs/examples/bridge/build.xml
   branches/Branch_JBMESSAGING_1416/docs/examples/bridge/etc/test-bridge-service.xml
   branches/Branch_JBMESSAGING_1416/docs/examples/distributed-queue/
   branches/Branch_JBMESSAGING_1416/docs/examples/distributed-queue/README.html
   branches/Branch_JBMESSAGING_1416/docs/examples/distributed-queue/build.xml
   branches/Branch_JBMESSAGING_1416/docs/examples/distributed-topic/
   branches/Branch_JBMESSAGING_1416/docs/examples/distributed-topic/README.html
   branches/Branch_JBMESSAGING_1416/docs/examples/distributed-topic/build.xml
   branches/Branch_JBMESSAGING_1416/docs/examples/ejb3mdb/
   branches/Branch_JBMESSAGING_1416/docs/examples/ejb3mdb/build.xml
   branches/Branch_JBMESSAGING_1416/docs/examples/http/README.html
   branches/Branch_JBMESSAGING_1416/docs/examples/http/build.xml
   branches/Branch_JBMESSAGING_1416/docs/examples/mdb-failure/
   branches/Branch_JBMESSAGING_1416/docs/examples/mdb-failure/build.xml
   branches/Branch_JBMESSAGING_1416/docs/examples/mdb/
   branches/Branch_JBMESSAGING_1416/docs/examples/mdb/build.xml
   branches/Branch_JBMESSAGING_1416/docs/examples/queue-failover/README.html
   branches/Branch_JBMESSAGING_1416/docs/examples/queue-failover/build.xml
   branches/Branch_JBMESSAGING_1416/docs/examples/queue/build.xml
   branches/Branch_JBMESSAGING_1416/docs/examples/secure-socket/build.xml
   branches/Branch_JBMESSAGING_1416/docs/examples/stateless-clustered/README.html
   branches/Branch_JBMESSAGING_1416/docs/examples/stateless-clustered/build.xml
   branches/Branch_JBMESSAGING_1416/docs/examples/stateless/
   branches/Branch_JBMESSAGING_1416/docs/examples/stateless/build.xml
   branches/Branch_JBMESSAGING_1416/docs/examples/topic/
   branches/Branch_JBMESSAGING_1416/docs/examples/topic/build.xml
   branches/Branch_JBMESSAGING_1416/docs/userguide/en/modules/about.xml
   branches/Branch_JBMESSAGING_1416/docs/userguide/en/modules/configuration.xml
   branches/Branch_JBMESSAGING_1416/docs/userguide/en/modules/installation.xml
   branches/Branch_JBMESSAGING_1416/docs/userguide/en/modules/runningexamples.xml
   branches/Branch_JBMESSAGING_1416/integration/AS5/etc/remoting/remoting-sslbisocket-service.xml
   branches/Branch_JBMESSAGING_1416/integration/AS5/etc/server/default/deploy/db2-persistence-service.xml
   branches/Branch_JBMESSAGING_1416/integration/AS5/etc/server/default/deploy/mssql-persistence-service.xml
   branches/Branch_JBMESSAGING_1416/integration/AS5/etc/server/default/deploy/mysql-persistence-service.xml
   branches/Branch_JBMESSAGING_1416/integration/AS5/etc/server/default/deploy/ndb-persistence-service.xml
   branches/Branch_JBMESSAGING_1416/integration/AS5/etc/server/default/deploy/null-persistence-service.xml
   branches/Branch_JBMESSAGING_1416/integration/AS5/etc/server/default/deploy/oracle-persistence-service.xml
   branches/Branch_JBMESSAGING_1416/integration/AS5/etc/server/default/deploy/postgresql-persistence-service.xml
   branches/Branch_JBMESSAGING_1416/integration/AS5/etc/server/default/deploy/sybase-persistence-service.xml
   branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/client/ClientAOPStackLoader.java
   branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/client/container/ClientConsumer.java
   branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/client/remoting/JMSRemotingConnection.java
   branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/server/bridge/Bridge.java
   branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/server/bridge/BridgeService.java
   branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/server/connectionfactory/ConnectionFactory.java
   branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/server/connectionfactory/ConnectionFactoryJNDIMapper.java
   branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/server/endpoint/SecurityActions.java
   branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/server/endpoint/ServerConnectionFactoryEndpoint.java
   branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/server/endpoint/ServerSessionEndpoint.java
   branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/tx/MessagingXAResource.java
   branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/tx/ResourceManager.java
   branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/wireformat/SerializedPacket.java
   branches/Branch_JBMESSAGING_1416/src/main/org/jboss/messaging/core/contract/Delivery.java
   branches/Branch_JBMESSAGING_1416/src/main/org/jboss/messaging/core/impl/ChannelSupport.java
   branches/Branch_JBMESSAGING_1416/src/main/org/jboss/messaging/core/impl/PagingChannelSupport.java
   branches/Branch_JBMESSAGING_1416/src/main/org/jboss/messaging/core/impl/SimpleDelivery.java
   branches/Branch_JBMESSAGING_1416/src/main/org/jboss/messaging/core/impl/postoffice/MessagingPostOffice.java
   branches/Branch_JBMESSAGING_1416/src/main/org/jboss/messaging/util/JBMExecutor.java
   branches/Branch_JBMESSAGING_1416/src/main/org/jboss/messaging/util/ObjectInputStreamWithClassLoader.java
   branches/Branch_JBMESSAGING_1416/src/main/org/jboss/messaging/util/OrderedExecutorFactory.java
   branches/Branch_JBMESSAGING_1416/tests/bin/runtest
   branches/Branch_JBMESSAGING_1416/tests/bin/stop-rmi-server
   branches/Branch_JBMESSAGING_1416/tests/build.properties
   branches/Branch_JBMESSAGING_1416/tests/build.xml
   branches/Branch_JBMESSAGING_1416/tests/etc/log4j.xml
   branches/Branch_JBMESSAGING_1416/tests/etc/server/default/deploy/mock-channelfactory-stacks.xml
   branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/core/PostOfficeTestBase.java
   branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/core/postoffice/ClusteredPersistenceServiceConfigFileJChannelFactory.java
   branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/JMSTestCase.java
   branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/RemotingConnectionConfigurationTest.java
   branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/ScheduledDeliveryTest.java
   branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/XARecoveryTest.java
   branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/XATest.java
   branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/bridge/BridgeMBeanTest.java
   branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/bridge/BridgeTest.java
   branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/bridge/BridgeTestBase.java
   branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/bridge/ReconnectTest.java
   branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/bridge/ReconnectWithRecoveryTest.java
   branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/bridge/SimpleCrashWithRestartTest.java
   branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/clustering/ClusterViewUpdateTest.java
   branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/clustering/FailoverTest.java
   branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/thirdparty/remoting/ClientInvokerTimeoutTest.java
Log:
merge back from Branch_1_4



Modified: branches/Branch_JBMESSAGING_1416/build-messaging-AS5.xml
===================================================================
--- branches/Branch_JBMESSAGING_1416/build-messaging-AS5.xml	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/build-messaging-AS5.xml	2009-02-02 10:42:54 UTC (rev 5773)
@@ -28,7 +28,7 @@
     	  <path refid="jboss.jboss.mdr.classpath"/>
        <path refid="jboss.aop.classpath"/>
        <path refid="jboss.remoting.classpath"/>
-       <path refid="jboss.jbossts14.classpath"/>
+       <path refid="jboss.jbossts.classpath"/>
        <path refid="jbossas.core.libs.classpath"/>
        <!-- some components at JBoss use JBossSerialization (JCA for instance) -->
        <path refid="jboss.serialization.classpath"/>
@@ -64,5 +64,30 @@
       </aopc>
    </target>
 
+   <!-- Note: This target must be ran after the smoke test -->
+   <target name="examples" depends="release-structure">
+      <copy todir="${release.output}/examples">
+         <fileset dir="./docs/examples" excludes="examples.properties">
+            <exclude name="programmatic-deployment"/>
+	    <exclude name="stateless-clustered/**"/>
+	    <exclude name="**/*/build.xml*"/>
+         </fileset>
+      </copy>
+      <copy todir="${release.output}/examples">
+         <fileset dir="./docs/examples">
+	    <exclude name="stateless-clustered/**"/>
+         </fileset>
+	 <globmapper from="*build.xml.AS5" to="*build.xml"/>
+      </copy>
+      <copy todir="${release.output}/examples/config">
+         <fileset dir="${integration-dir}/etc/server/default/deploy">
+            <include name="*-persistence-service.xml"/>
+            <include name="*-ds.xml"/>
+         </fileset>
+         <fileset dir="${integration-dir}/etc/remoting">
+            <include name="*-service.xml"/>
+         </fileset>
+      </copy>
+   </target>
 
-</project>
\ No newline at end of file
+</project>

Modified: branches/Branch_JBMESSAGING_1416/build-messaging-EAP4.xml
===================================================================
--- branches/Branch_JBMESSAGING_1416/build-messaging-EAP4.xml	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/build-messaging-EAP4.xml	2009-02-02 10:42:54 UTC (rev 5773)
@@ -58,5 +58,26 @@
       </aopc>
    </target>
 
+   <!-- Note: This target must be ran after the smoke test -->
+   <target name="examples" depends="release-structure">
 
-</project>
\ No newline at end of file
+      <copy todir="${release.output}/examples">
+         <fileset dir="./docs/examples" excludes="examples.properties">
+            <exclude name="programmatic-deployment"/>
+ 	    <exclude name="**/*/build.xml.AS5"/>
+        </fileset>
+      </copy>
+      <copy todir="${release.output}/examples/config">
+         <fileset dir="${integration-dir}/etc/server/default/deploy">
+            <include name="*-persistence-service.xml"/>
+            <include name="*-ds.xml"/>
+         </fileset>
+         <fileset dir="${integration-dir}/etc/remoting">
+            <include name="servlet-invoker.war/**/*"/>
+            <include name="*-service.xml"/>
+         </fileset>
+      </copy>
+   </target>
+
+
+</project>

Modified: branches/Branch_JBMESSAGING_1416/build-messaging.xml
===================================================================
--- branches/Branch_JBMESSAGING_1416/build-messaging.xml	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/build-messaging.xml	2009-02-02 10:42:54 UTC (rev 5773)
@@ -52,10 +52,10 @@
    <property name="messaging.version.major" value="1"/>
    <property name="messaging.version.minor" value="4"/>
    <property name="messaging.version.revision" value="0"/>
-   <property name="messaging.version.incrementing" value="26"/>
-   <property name="messaging.version.tag" value="SP3-CP04"/>
-   <property name="messaging.version.name" value="Bauru Sandwich"/>
-   <property name="messaging.version.cvstag" value="JBossMessaging_1_4_0_SP3_CP04"/>
+   <property name="messaging.version.incrementing" value="28"/>
+   <property name="messaging.version.tag" value="SP3-CP06"/>
+   <property name="messaging.version.name" value="Hotpot"/>
+   <property name="messaging.version.cvstag" value="JBossMessaging_1_4_0_SP3_CP06"/>
    <property name="module.name" value="messaging"/>
    <property name="module.Name" value="JBoss Messaging"/>
    <property name="module.version" value="${messaging.version.major}.${messaging.version.minor}.${messaging.version.revision}.${messaging.version.tag}"/>
@@ -441,25 +441,6 @@
       <mkdir dir="${release.output}/test-results"/>
    </target>
 
-   <!-- Note: This target must be ran after the smoke test -->
-   <target name="examples" depends="release-structure">
-
-      <copy todir="${release.output}/examples">
-         <fileset dir="./docs/examples" excludes="examples.properties">
-            <exclude name="programmatic-deployment"/>
-         </fileset>
-      </copy>
-      <copy todir="${release.output}/examples/config">
-         <fileset dir="${integration-dir}/etc/server/default/deploy">
-            <include name="*-persistence-service.xml"/>
-            <include name="*-ds.xml"/>
-         </fileset>
-         <fileset dir="${integration-dir}/etc/remoting">
-            <include name="*-service.xml"/>
-         </fileset>
-      </copy>
-   </target>
-
    <target name="userdoc" depends="release-structure">
 
       <ant dir="./docs/userguide" antfile="build.xml" target="all"/>
@@ -549,6 +530,7 @@
    <target name="clean">
 
       <delete dir="${project.output}" quiet="true"/>
+      <delete dir="${release.output}" quiet="true"/>
 
       <ant dir="./docs/examples/queue" antfile="build.xml" inheritAll="false" target="clean"/>
       <ant dir="./docs/examples/topic" antfile="build.xml" inheritAll="false" target="clean"/>

Modified: branches/Branch_JBMESSAGING_1416/build-thirdparty-AS5.xml
===================================================================
--- branches/Branch_JBMESSAGING_1416/build-thirdparty-AS5.xml	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/build-thirdparty-AS5.xml	2009-02-02 10:42:54 UTC (rev 5773)
@@ -84,17 +84,17 @@
       <componentref name="sun-javacc" version="3.2"/>
       <componentref name="oswego-concurrent" version="1.3.4-jboss-update1"/>
       <componentref name="apache-log4j" version="1.2.14"/>
-      <componentref name="javassist" version="3.7.1.GA"/>
-      <componentref name="jgroups" version="2.6.2"/>
+      <componentref name="javassist" version="3.9.0.GA"/>
+      <componentref name="jgroups" version="2.6.7.GA"/>
       <componentref name="trove" version="1.0.2"/>
       <componentref name="jboss/common-core" version="2.2.3.GA"/>
       <componentref name="jboss/common-logging-jdk" version="2.0.2.GA"/>
       <componentref name="jboss/common-logging-log4j" version="2.0.2.GA"/>
       <componentref name="jboss/common-logging-spi" version="2.0.2.GA"/>
    	  <componentref name="jboss/jboss-mdr" version="2.0.0.Beta12"/>
-      <componentref name="jboss/aop" version="2.0.0.CR8"/>
-      <componentref name="jboss/remoting" version="2.4.0.CR1"/>
-      <componentref name="jboss/jbossts14" version="4.2.3.SP3"/>
+      <componentref name="jboss/aop" version="2.0.0.SP1"/>
+      <componentref name="jboss/remoting" version="2.5.0.SP2"/>
+      <componentref name="jboss/jbossts" version="4.4.0.GA"/>
       <componentref name="jbossas/core-libs" version="4.2.0.GA"/>
    	
       

Modified: branches/Branch_JBMESSAGING_1416/build-thirdparty-EAP4.xml
===================================================================
--- branches/Branch_JBMESSAGING_1416/build-thirdparty-EAP4.xml	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/build-thirdparty-EAP4.xml	2009-02-02 10:42:54 UTC (rev 5773)
@@ -85,12 +85,12 @@
       <componentref name="oswego-concurrent" version="1.3.4.patch01-brew"/>
       <componentref name="apache-log4j" version="1.2.14-brew"/>
       <componentref name="javassist" version="3.8.0.GA-brew"/>
-      <componentref name="jgroups" version="2.4.4.GA-brew"/>
+      <componentref name="jgroups" version="2.4.5.GA-brew"/>
       <componentref name="trove" version="1.0.2-brew"/>
       <componentref name="jboss/common" version="1.2.1.GA-brew"/>
       <componentref name="jboss/aop" version="1.5.5.GA_CP03-brew"/>
-      <componentref name="jboss/remoting" version="2.2.2.SP10-brew"/>
-      <componentref name="jboss/jbossts14" version="4.2.3.SP5_CP02-brew"/>
+      <componentref name="jboss/remoting" version="2.2.2.SP11-brew"/>
+      <componentref name="jboss/jbossts14" version="4.2.3.SP5_CP04-brew"/>
       <componentref name="jbossas/core-libs" version="4.2.0.GA"/>
 
 
@@ -111,6 +111,7 @@
       <componentref name="jboss/profiler/jvmti" version="1.0.0.CR5-brew"/>
       <componentref name="jboss/jbossxb" version="1.0.0.SP1-brew"/>
       <componentref name="jboss/test14" version="1.0.0.GA"/>
+      <componentref name="sun-servlet" version="2.4"/>
 
       <!-- This is a non declared dependency of jboss/test14 -->
       <componentref name="jboss/jbossretro-rt" version="1.0.5.GA"/>

Modified: branches/Branch_JBMESSAGING_1416/docs/README.html
===================================================================
--- branches/Branch_JBMESSAGING_1416/docs/README.html	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/docs/README.html	2009-02-02 10:42:54 UTC (rev 5773)
@@ -3,27 +3,26 @@
 <head>
   <meta content="text/html; charset=ISO-8859-1"
  http-equiv="content-type">
-  <title>JBoss Messaging 1.4.1.beta2 Release Notes</title>
+  <title>Release Notes - JBoss Messaging - Version 1.4.0.SP3.CP05.</title>
 </head>
 <body>
 
-<h1>Release Notes - JBoss Messaging - Version 1.4.0.SP3.CP04</h1>
+<h1>Release Notes - JBoss Messaging - Version 1.4.0.SP3.CP05</h1>
 
 <br>
 
-<h2>7 October 2008</h2>
+<h2>14 January 2009</h2>
 
-These are the release notes for JBoss Messaging 1.4.0.SP3.CP04<br><br>
+These are the release notes for JBoss Messaging 1.4.0.SP3.CP05<br><br>
 
-For full description of the contents please see the JBoss Messaging project JIRA.<br><br>
+For full description of the contents please see the <a href="https://jira.jboss.org/jira/secure/ReleaseNote.jspa?version=12312843&styleName=Html&projectId=12310061">JBoss Messaging project JIRA.</a><br><br>
 
-When upgrading an existing installation be sure to update all the configuration files in server/&lt;server name&gt;/deploy/jboss-messaging.sar with the newer versions and replace jboss-messaging.jar in server/&lt;server name&gt;/lib and on the client classpath. You will also need to drop all tables and indexes in the database.<br><br>
+When upgrading an existing installation be sure to update all the configuration files in server/&lt;server name&gt;/deploy/jboss-messaging.sar with the newer versions and replace jboss-messaging.jar in server/&lt;server name&gt;/lib and on the client classpath. You don't need to drop all tables and indexes in the database.<br><br>
 
 This release of JBoss Messaging also requires specific versions of JBoss Remoting, JBoss AOP and Javassist. For the correct versions see the user-guide installation section. Be sure that server/&lt;server name&gt;/lib contains these jar and they are also present as the first entry on the client classpath. This is critical to ensure proper operation of JBoss Messaging!<br><br>
 
 Enjoy!<br><br>
 
-
 </body>
 </html>
 


Property changes on: branches/Branch_JBMESSAGING_1416/docs/examples
___________________________________________________________________
Name: svn:ignore
   + output


Modified: branches/Branch_JBMESSAGING_1416/docs/examples/bridge/build.xml
===================================================================
--- branches/Branch_JBMESSAGING_1416/docs/examples/bridge/build.xml	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/docs/examples/bridge/build.xml	2009-02-02 10:42:54 UTC (rev 5773)
@@ -31,18 +31,18 @@
       <pathelement path="../common/output/classes"/>
    </path>
 
-   <path id="execution.classpath">
-      <pathelement path="./etc"/>
-      <pathelement path="../common/output/classes"/>
-      <pathelement path="./output/classes"/>
-      <fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/lib/jboss-remoting.jar"/>
-      <fileset file="${jboss.home}/client/jbossall-client.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/lib/log4j.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/lib/javassist.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/deploy/jboss-aop-jdk50.deployer/jboss-aop-jdk50.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/deploy/jboss-aop-jdk50.deployer/trove.jar"/>
-   </path>
+	<path id="execution.classpath">
+		<pathelement path="./etc"/>
+		<pathelement path="../common/output/classes"/>
+		<pathelement path="./output/classes"/>
+		<fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}"/>
+		<fileset file="${jboss.home}/server/${jboss.configuration}/lib/jboss-remoting.jar"/>
+		<fileset file="${jboss.home}/client/jbossall-client.jar"/>
+		<fileset file="${jboss.home}/server/${jboss.configuration}/lib/log4j.jar"/>
+		<fileset file="${jboss.home}/server/${jboss.configuration}/lib/javassist.jar"/>
+		<fileset file="${jboss.home}/server/${jboss.configuration}/deploy/jboss-aop-jdk50.deployer/jboss-aop-jdk50.jar"/>
+		<fileset file="${jboss.home}/server/${jboss.configuration}/deploy/jboss-aop-jdk50.deployer/trove.jar"/>
+	</path>
 
    <target name="identify">
       <echo message="###########################################################################"/>

Copied: branches/Branch_JBMESSAGING_1416/docs/examples/bridge/build.xml.AS5 (from rev 5772, branches/Branch_1_4/docs/examples/bridge/build.xml.AS5)
===================================================================
--- branches/Branch_JBMESSAGING_1416/docs/examples/bridge/build.xml.AS5	                        (rev 0)
+++ branches/Branch_JBMESSAGING_1416/docs/examples/bridge/build.xml.AS5	2009-02-02 10:42:54 UTC (rev 5773)
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+   To run the example, set JBOSS_HOME and run ant (with no parameters)
+
+   $Id: build.xml 2705 2007-05-17 21:34:07Z clebert.suconic at jboss.com $
+
+ -->
+
+<project name="BridgeExample" default="run">
+
+	<property environment="ENV" />
+
+	<!-- These properties may be overriden by calling ants when this example is used in a smoke test -->
+	<property file="../examples.properties" />
+	<property name="jboss.home" value="${ENV.JBOSS_HOME}" />
+	<property name="messaging.client.jar.name" value="${jboss.home}/client/jboss-messaging-client.jar" />
+	<property name="jboss.configuration" value="messaging" />
+	<property name="example.source.queue" value="A" />
+	<property name="example.target.queue" value="B" />
+
+	<path id="common.compilation.classpath">
+		<fileset file="${jboss.home}/client/jboss-j2ee.jar" />
+		<fileset dir="${jboss.home}/client" includes="*.jar" />
+	</path>
+
+	<path id="example.compilation.classpath">
+		<path refid="common.compilation.classpath" />
+		<pathelement path="../common/output/classes" />
+	</path>
+
+	<path id="execution.classpath">
+		<pathelement path="./etc" />
+		<pathelement path="../common/output/classes" />
+		<pathelement path="./output/classes" />
+		<fileset dir="${jboss.home}/client" includes="*.jar" />
+	</path>
+
+	<target name="identify">
+		<echo message="###########################################################################" />
+		<echo message="#                       Running the BRIDGE example                         #" />
+		<echo message="###########################################################################" />
+		<echo message="The queue:      ${example.queue.name}" />
+		<echo message="The client jar: ${messaging.client.jar.path}/${messaging.client.jar.name}" />
+	</target>
+
+	<target name="sanity-check" depends="identify">
+		<available property="client.jar.present" file="${messaging.client.jar.name}" />
+		<fail message="Could not find client jar ${messaging.client.jar.name}" unless="client.jar.present" />
+	</target>
+
+	<target name="init" depends="sanity-check">
+		<mkdir dir="./output/classes" />
+		<mkdir dir="../common/output/classes" />
+	</target>
+
+	<target name="compile" depends="init">
+		<javac destdir="../common/output/classes" debug="on" debuglevel="lines,vars,source">
+			<src path="../common/src" />
+			<classpath refid="common.compilation.classpath" />
+		</javac>
+		<javac destdir="./output/classes" debug="on" debuglevel="lines,vars,source">
+			<src path="./src" />
+			<classpath refid="example.compilation.classpath" />
+		</javac>
+	</target>
+
+	<target name="deploy" depends="compile">
+		<copy file="./etc/test-bridge-service.xml" todir="${jboss.home}/server/${jboss.configuration}/deploy" />
+		<antcall target="sleep">
+			<param name="sleep.interval" value="5" />
+		</antcall>
+	</target>
+
+	<target name="undeploy">
+		<delete file="${jboss.home}/server/${jboss.configuration}/deploy/test-bridge-service.xml" quiet="true" />
+	</target>
+
+	<target name="run" depends="deploy">
+		<java classname="org.jboss.example.jms.bridge.BridgeExample" classpathref="execution.classpath" fork="yes" failonerror="true">
+			<sysproperty key="example.source.queue" value="${example.source.queue}" />
+			<sysproperty key="example.target.queue" value="${example.target.queue}" />
+			<!--
+         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=y,suspend=y,address=example"/>
+         -->
+		</java>
+		<antcall target="undeploy" />
+	</target>
+
+	<target name="clean" depends="undeploy">
+		<delete dir="./output" quiet="true" />
+		<delete dir="../common/output" quiet="true" />
+	</target>
+
+	<target name="sleep">
+		<echo message="Sleeping for ${sleep.interval} seconds ..." />
+		<sleep seconds="${sleep.interval}" />
+	</target>
+
+</project>
+

Modified: branches/Branch_JBMESSAGING_1416/docs/examples/bridge/etc/test-bridge-service.xml
===================================================================
--- branches/Branch_JBMESSAGING_1416/docs/examples/bridge/etc/test-bridge-service.xml	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/docs/examples/bridge/etc/test-bridge-service.xml	2009-02-02 10:42:54 UTC (rev 5773)
@@ -14,10 +14,10 @@
           xmbean-dd="xmdesc/Bridge-xmbean.xml">
           
       <!-- The JMS provider loader that is used to lookup the source destination -->   
-      <depends optional-attribute-name="SourceProviderLoader">jboss.messaging:service=JMSProviderLoader,name=JMSProvider</depends>     
+      <depends optional-attribute-name="SourceProviderLoader">jboss.jms:service=JMSProviderLoader,name=JMSProvider</depends>     
       
       <!-- The JMS provider loader that is used to lookup the target destination -->
-      <depends optional-attribute-name="TargetProviderLoader">jboss.messaging:service=JMSProviderLoader,name=JMSProvider</depends>    
+      <depends optional-attribute-name="TargetProviderLoader">jboss.jms:service=JMSProviderLoader,name=JMSProvider</depends>    
       
       <!-- The JNDI lookup for the source destination -->
       <attribute name="SourceDestinationLookup">/queue/A</attribute> 

Copied: branches/Branch_JBMESSAGING_1416/docs/examples/destinations (from rev 5772, branches/Branch_1_4/docs/examples/destinations)

Deleted: branches/Branch_JBMESSAGING_1416/docs/examples/destinations/jbm-examples-destinations-service.xml
===================================================================
--- branches/Branch_1_4/docs/examples/destinations/jbm-examples-destinations-service.xml	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/docs/examples/destinations/jbm-examples-destinations-service.xml	2009-02-02 10:42:54 UTC (rev 5773)
@@ -1,169 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-     Messaging Example Destinations
- -->
-
-<server>
-   <mbean code="org.jboss.jms.server.destination.TopicService"
-      name="jboss.messaging.destination:service=Topic,name=testTopic"
-      xmbean-dd="xmdesc/Topic-xmbean.xml">
-      <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
-      <depends>jboss.messaging:service=PostOffice</depends>
-      <attribute name="SecurityConfig">
-         <security>
-            <role name="guest" read="true" write="true"/>
-            <role name="publisher" read="true" write="true" create="false"/>
-            <role name="durpublisher" read="true" write="true" create="true"/>
-         </security>
-      </attribute>
-   </mbean>
-
-   <mbean code="org.jboss.jms.server.destination.TopicService"
-      name="jboss.messaging.destination:service=Topic,name=securedTopic"
-      xmbean-dd="xmdesc/Topic-xmbean.xml">
-      <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
-      <depends>jboss.messaging:service=PostOffice</depends>
-      <attribute name="SecurityConfig">
-         <security>
-            <role name="publisher" read="true" write="true" create="false"/>
-         </security>
-      </attribute>
-   </mbean>
-
-   <mbean code="org.jboss.jms.server.destination.TopicService"
-      name="jboss.messaging.destination:service=Topic,name=testDurableTopic"
-      xmbean-dd="xmdesc/Topic-xmbean.xml">
-      <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
-      <depends>jboss.messaging:service=PostOffice</depends>
-      <attribute name="SecurityConfig">
-         <security>
-            <role name="guest" read="true" write="true"/>
-            <role name="publisher" read="true" write="true" create="false"/>
-            <role name="durpublisher" read="true" write="true" create="true"/>
-         </security>
-      </attribute>
-   </mbean>
-
-   <mbean code="org.jboss.jms.server.destination.QueueService"
-      name="jboss.messaging.destination:service=Queue,name=testQueue"
-      xmbean-dd="xmdesc/Queue-xmbean.xml">
-      <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
-      <depends>jboss.messaging:service=PostOffice</depends>
-      <attribute name="SecurityConfig">
-         <security>
-            <role name="guest" read="true" write="true"/>
-            <role name="publisher" read="true" write="true" create="false"/>
-            <role name="noacc" read="false" write="false" create="false"/>
-         </security>
-      </attribute>
-   </mbean>
-
-   <mbean code="org.jboss.jms.server.destination.QueueService"
-      name="jboss.messaging.destination:service=Queue,name=A"
-      xmbean-dd="xmdesc/Queue-xmbean.xml">
-      <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
-      <depends>jboss.messaging:service=PostOffice</depends>
-   </mbean>
-
-   <mbean code="org.jboss.jms.server.destination.QueueService"
-      name="jboss.messaging.destination:service=Queue,name=B"
-      xmbean-dd="xmdesc/Queue-xmbean.xml">
-      <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
-      <depends>jboss.messaging:service=PostOffice</depends>
-   </mbean>
-
-   <mbean code="org.jboss.jms.server.destination.QueueService"
-      name="jboss.messaging.destination:service=Queue,name=C"
-      xmbean-dd="xmdesc/Queue-xmbean.xml">
-      <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
-      <depends>jboss.messaging:service=PostOffice</depends>
-   </mbean>
-
-   <mbean code="org.jboss.jms.server.destination.QueueService"
-      name="jboss.messaging.destination:service=Queue,name=D"
-      xmbean-dd="xmdesc/Queue-xmbean.xml">
-      <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
-      <depends>jboss.messaging:service=PostOffice</depends>
-   </mbean>
-
-   <mbean code="org.jboss.jms.server.destination.QueueService"
-      name="jboss.messaging.destination:service=Queue,name=ex"
-      xmbean-dd="xmdesc/Queue-xmbean.xml">
-      <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
-      <depends>jboss.messaging:service=PostOffice</depends>
-   </mbean>
-   
-   <!-- It's possible for indiviual queues and topics to use a specific queue for
-   an expiry or DLQ -->
-   
-   <mbean code="org.jboss.jms.server.destination.QueueService"
-      name="jboss.messaging.destination:service=Queue,name=PrivateDLQ"
-      xmbean-dd="xmdesc/Queue-xmbean.xml">
-      <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
-      <depends>jboss.messaging:service=PostOffice</depends>
-   </mbean>
-   
-   <mbean code="org.jboss.jms.server.destination.QueueService"
-      name="jboss.messaging.destination:service=Queue,name=PrivateExpiryQueue"
-      xmbean-dd="xmdesc/Queue-xmbean.xml">
-      <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
-      <depends>jboss.messaging:service=PostOffice</depends>
-   </mbean>      
-   
-   <mbean code="org.jboss.jms.server.destination.QueueService"
-      name="jboss.messaging.destination:service=Queue,name=QueueWithOwnDLQAndExpiryQueue"
-      xmbean-dd="xmdesc/Queue-xmbean.xml">
-      <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
-      <depends>jboss.messaging:service=PostOffice</depends>
-      <attribute name="DLQ">jboss.messaging.destination:service=Queue,name=PrivateDLQ</attribute>
-      <attribute name="ExpiryQueue">jboss.messaging.destination:service=Queue,name=PrivateExpiryQueue</attribute>
-   </mbean> 
-   
-   <mbean code="org.jboss.jms.server.destination.TopicService"
-      name="jboss.messaging.destination:service=Topic,name=TopicWithOwnDLQAndExpiryQueue"
-      xmbean-dd="xmdesc/Topic-xmbean.xml">
-      <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
-      <depends>jboss.messaging:service=PostOffice</depends>
-      <attribute name="DLQ">jboss.messaging.destination:service=Queue,name=PrivateDLQ</attribute>
-      <attribute name="ExpiryQueue">jboss.messaging.destination:service=Queue,name=PrivateExpiryQueue</attribute>
-   </mbean>       
-   
-   <!-- Queues and Topics can also specify their own redelivery delay -->
-   
-   <mbean code="org.jboss.jms.server.destination.QueueService"
-      name="jboss.messaging.destination:service=Queue,name=QueueWithOwnRedeliveryDelay"
-      xmbean-dd="xmdesc/Queue-xmbean.xml">
-      <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
-      <depends>jboss.messaging:service=PostOffice</depends>
-      <attribute name="RedeliveryDelay">5000</attribute>
-   </mbean>
-   
-   <mbean code="org.jboss.jms.server.destination.TopicService"
-      name="jboss.messaging.destination:service=Topic,name=TopicWithOwnRedeliveryDelay"
-      xmbean-dd="xmdesc/Topic-xmbean.xml">
-      <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
-      <depends>jboss.messaging:service=PostOffice</depends>
-      <attribute name="RedeliveryDelay">5000</attribute>
-   </mbean>     
-   
-   <!--
-        Example clustered destinations.
-   -->
-   
-   <mbean code="org.jboss.jms.server.destination.QueueService"
-      name="jboss.messaging.destination:service=Queue,name=testDistributedQueue"
-      xmbean-dd="xmdesc/Queue-xmbean.xml">
-      <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
-      <depends>jboss.messaging:service=PostOffice</depends>
-      <attribute name="Clustered">true</attribute>
-   </mbean>   
-   
-   <mbean code="org.jboss.jms.server.destination.TopicService"
-      name="jboss.messaging.destination:service=Topic,name=testDistributedTopic"
-      xmbean-dd="xmdesc/Topic-xmbean.xml">
-      <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
-      <depends>jboss.messaging:service=PostOffice</depends>
-      <attribute name="Clustered">true</attribute>
-   </mbean>   
-</server>
\ No newline at end of file

Copied: branches/Branch_JBMESSAGING_1416/docs/examples/destinations/jbm-examples-destinations-service.xml (from rev 5772, branches/Branch_1_4/docs/examples/destinations/jbm-examples-destinations-service.xml)
===================================================================
--- branches/Branch_JBMESSAGING_1416/docs/examples/destinations/jbm-examples-destinations-service.xml	                        (rev 0)
+++ branches/Branch_JBMESSAGING_1416/docs/examples/destinations/jbm-examples-destinations-service.xml	2009-02-02 10:42:54 UTC (rev 5773)
@@ -0,0 +1,169 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+     Messaging Example Destinations
+ -->
+
+<server>
+   <mbean code="org.jboss.jms.server.destination.TopicService"
+      name="jboss.messaging.destination:service=Topic,name=testTopic"
+      xmbean-dd="xmdesc/Topic-xmbean.xml">
+      <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+      <depends>jboss.messaging:service=PostOffice</depends>
+      <attribute name="SecurityConfig">
+         <security>
+            <role name="guest" read="true" write="true"/>
+            <role name="publisher" read="true" write="true" create="false"/>
+            <role name="durpublisher" read="true" write="true" create="true"/>
+         </security>
+      </attribute>
+   </mbean>
+
+   <mbean code="org.jboss.jms.server.destination.TopicService"
+      name="jboss.messaging.destination:service=Topic,name=securedTopic"
+      xmbean-dd="xmdesc/Topic-xmbean.xml">
+      <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+      <depends>jboss.messaging:service=PostOffice</depends>
+      <attribute name="SecurityConfig">
+         <security>
+            <role name="publisher" read="true" write="true" create="false"/>
+         </security>
+      </attribute>
+   </mbean>
+
+   <mbean code="org.jboss.jms.server.destination.TopicService"
+      name="jboss.messaging.destination:service=Topic,name=testDurableTopic"
+      xmbean-dd="xmdesc/Topic-xmbean.xml">
+      <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+      <depends>jboss.messaging:service=PostOffice</depends>
+      <attribute name="SecurityConfig">
+         <security>
+            <role name="guest" read="true" write="true"/>
+            <role name="publisher" read="true" write="true" create="false"/>
+            <role name="durpublisher" read="true" write="true" create="true"/>
+         </security>
+      </attribute>
+   </mbean>
+
+   <mbean code="org.jboss.jms.server.destination.QueueService"
+      name="jboss.messaging.destination:service=Queue,name=testQueue"
+      xmbean-dd="xmdesc/Queue-xmbean.xml">
+      <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+      <depends>jboss.messaging:service=PostOffice</depends>
+      <attribute name="SecurityConfig">
+         <security>
+            <role name="guest" read="true" write="true"/>
+            <role name="publisher" read="true" write="true" create="false"/>
+            <role name="noacc" read="false" write="false" create="false"/>
+         </security>
+      </attribute>
+   </mbean>
+
+   <mbean code="org.jboss.jms.server.destination.QueueService"
+      name="jboss.messaging.destination:service=Queue,name=A"
+      xmbean-dd="xmdesc/Queue-xmbean.xml">
+      <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+      <depends>jboss.messaging:service=PostOffice</depends>
+   </mbean>
+
+   <mbean code="org.jboss.jms.server.destination.QueueService"
+      name="jboss.messaging.destination:service=Queue,name=B"
+      xmbean-dd="xmdesc/Queue-xmbean.xml">
+      <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+      <depends>jboss.messaging:service=PostOffice</depends>
+   </mbean>
+
+   <mbean code="org.jboss.jms.server.destination.QueueService"
+      name="jboss.messaging.destination:service=Queue,name=C"
+      xmbean-dd="xmdesc/Queue-xmbean.xml">
+      <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+      <depends>jboss.messaging:service=PostOffice</depends>
+   </mbean>
+
+   <mbean code="org.jboss.jms.server.destination.QueueService"
+      name="jboss.messaging.destination:service=Queue,name=D"
+      xmbean-dd="xmdesc/Queue-xmbean.xml">
+      <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+      <depends>jboss.messaging:service=PostOffice</depends>
+   </mbean>
+
+   <mbean code="org.jboss.jms.server.destination.QueueService"
+      name="jboss.messaging.destination:service=Queue,name=ex"
+      xmbean-dd="xmdesc/Queue-xmbean.xml">
+      <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+      <depends>jboss.messaging:service=PostOffice</depends>
+   </mbean>
+   
+   <!-- It's possible for indiviual queues and topics to use a specific queue for
+   an expiry or DLQ -->
+   
+   <mbean code="org.jboss.jms.server.destination.QueueService"
+      name="jboss.messaging.destination:service=Queue,name=PrivateDLQ"
+      xmbean-dd="xmdesc/Queue-xmbean.xml">
+      <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+      <depends>jboss.messaging:service=PostOffice</depends>
+   </mbean>
+   
+   <mbean code="org.jboss.jms.server.destination.QueueService"
+      name="jboss.messaging.destination:service=Queue,name=PrivateExpiryQueue"
+      xmbean-dd="xmdesc/Queue-xmbean.xml">
+      <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+      <depends>jboss.messaging:service=PostOffice</depends>
+   </mbean>      
+   
+   <mbean code="org.jboss.jms.server.destination.QueueService"
+      name="jboss.messaging.destination:service=Queue,name=QueueWithOwnDLQAndExpiryQueue"
+      xmbean-dd="xmdesc/Queue-xmbean.xml">
+      <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+      <depends>jboss.messaging:service=PostOffice</depends>
+      <attribute name="DLQ">jboss.messaging.destination:service=Queue,name=PrivateDLQ</attribute>
+      <attribute name="ExpiryQueue">jboss.messaging.destination:service=Queue,name=PrivateExpiryQueue</attribute>
+   </mbean> 
+   
+   <mbean code="org.jboss.jms.server.destination.TopicService"
+      name="jboss.messaging.destination:service=Topic,name=TopicWithOwnDLQAndExpiryQueue"
+      xmbean-dd="xmdesc/Topic-xmbean.xml">
+      <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+      <depends>jboss.messaging:service=PostOffice</depends>
+      <attribute name="DLQ">jboss.messaging.destination:service=Queue,name=PrivateDLQ</attribute>
+      <attribute name="ExpiryQueue">jboss.messaging.destination:service=Queue,name=PrivateExpiryQueue</attribute>
+   </mbean>       
+   
+   <!-- Queues and Topics can also specify their own redelivery delay -->
+   
+   <mbean code="org.jboss.jms.server.destination.QueueService"
+      name="jboss.messaging.destination:service=Queue,name=QueueWithOwnRedeliveryDelay"
+      xmbean-dd="xmdesc/Queue-xmbean.xml">
+      <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+      <depends>jboss.messaging:service=PostOffice</depends>
+      <attribute name="RedeliveryDelay">5000</attribute>
+   </mbean>
+   
+   <mbean code="org.jboss.jms.server.destination.TopicService"
+      name="jboss.messaging.destination:service=Topic,name=TopicWithOwnRedeliveryDelay"
+      xmbean-dd="xmdesc/Topic-xmbean.xml">
+      <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+      <depends>jboss.messaging:service=PostOffice</depends>
+      <attribute name="RedeliveryDelay">5000</attribute>
+   </mbean>     
+   
+   <!--
+        Example clustered destinations.
+   -->
+   
+   <mbean code="org.jboss.jms.server.destination.QueueService"
+      name="jboss.messaging.destination:service=Queue,name=testDistributedQueue"
+      xmbean-dd="xmdesc/Queue-xmbean.xml">
+      <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+      <depends>jboss.messaging:service=PostOffice</depends>
+      <attribute name="Clustered">true</attribute>
+   </mbean>   
+   
+   <mbean code="org.jboss.jms.server.destination.TopicService"
+      name="jboss.messaging.destination:service=Topic,name=testDistributedTopic"
+      xmbean-dd="xmdesc/Topic-xmbean.xml">
+      <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+      <depends>jboss.messaging:service=PostOffice</depends>
+      <attribute name="Clustered">true</attribute>
+   </mbean>   
+</server>
\ No newline at end of file


Property changes on: branches/Branch_JBMESSAGING_1416/docs/examples/distributed-queue
___________________________________________________________________
Name: svn:ignore
   + output


Modified: branches/Branch_JBMESSAGING_1416/docs/examples/distributed-queue/README.html
===================================================================
--- branches/Branch_JBMESSAGING_1416/docs/examples/distributed-queue/README.html	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/docs/examples/distributed-queue/README.html	2009-02-02 10:42:54 UTC (rev 5773)
@@ -21,8 +21,16 @@
 This example relies on having access to a running JBoss Messaging
 cluster with at least two nodes. The JBoss Messaging cluster must be
 installed and started according to the user guide.
+<<br><br>
+For JBoss5, you should copy all as messaging-node0, configure mysql as a database, make it clustered, and copy it as messaging-node1. Start each instance as:
+<br><br>
+./run.sh -c messaging-node0 -Djboss.service.binding.set=ports-01
+<br><br>
 <br>
-<br>
+and in another window
+<br><br>
+./run.sh -c messaging-node1 -Djboss.service.binding.set=ports-02 -Djboss.messaging.ServerPeerID=1
+<br><br>
 <span style="font-style: italic;"></span><br>
 <h2>Running the example</h2>
 <span style="font-family: monospace;"></span><span

Modified: branches/Branch_JBMESSAGING_1416/docs/examples/distributed-queue/build.xml
===================================================================
--- branches/Branch_JBMESSAGING_1416/docs/examples/distributed-queue/build.xml	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/docs/examples/distributed-queue/build.xml	2009-02-02 10:42:54 UTC (rev 5773)
@@ -14,37 +14,39 @@
 
    <property environment="ENV"/>
 
-   <!-- These properties may be overriden by calling ants when this example is used in a smoke test -->
-   <property file="../examples.properties"/>
-   <property name="messaging.client.jar.path" value="../../"/>
-   <property name="messaging.client.jar.name" value="jboss-messaging-client.jar"/>
-   <property name="jboss.home" value="${ENV.JBOSS_HOME}"/>
-   <property name="jboss.configuration0" value="messaging-node0"/>
-   <property name="example.queue.name" value="testDistributedQueue"/>
+	<!-- These properties may be overriden by calling ants when this example is used in a smoke test -->
+	<property file="../examples.properties" />
+	<property name="messaging.client.jar.path" value="../../" />
+	<property name="messaging.client.jar.name" value="jboss-messaging-client.jar" />
+	<property name="jboss.home" value="${ENV.JBOSS_HOME}" />
+	<property name="jboss.configuration" value="messaging-node0" />
+	<property name="example.queue.name" value="testDistributedQueue" />
 
-   <path id="common.compilation.classpath">
-      <fileset file="${jboss.home}/client/jboss-j2ee.jar"/>
-      <fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}"/>
-   </path>
+	<property name="ej3-extension" value="ejb3"/>
+	
+	<path id="common.compilation.classpath">
+		<fileset file="${jboss.home}/client/jboss-j2ee.jar" />
+		<fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}" />
+	</path>
 
    <path id="example.compilation.classpath">
       <path refid="common.compilation.classpath"/>
       <pathelement path="../common/output/classes"/>
    </path>
 
-   <path id="execution.classpath">
-      <pathelement path="./etc"/>
-      <pathelement path="../common/output/classes"/>
-      <pathelement path="./output/classes"/>
-      <fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration0}/lib/jboss-remoting.jar"/>
-      <fileset file="${jboss.home}/client/jbossall-client.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration0}/lib/log4j.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration0}/lib/javassist.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration0}/deploy/jboss-aop-jdk50.deployer/jboss-aop-jdk50.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration0}/deploy/jboss-aop-jdk50.deployer/trove.jar"/>
-   </path>
-
+	<path id="execution.classpath">
+		<pathelement path="./etc" />
+		<pathelement path="../common/output/classes" />
+		<pathelement path="./output/classes" />
+		<fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/lib/jboss-remoting.jar" />
+		<fileset file="${jboss.home}/client/jbossall-client.jar" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/lib/log4j.jar" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/lib/javassist.jar" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/deploy/jboss-aop-jdk50.deployer/jboss-aop-jdk50.jar" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/deploy/jboss-aop-jdk50.deployer/trove.jar" />
+	</path>
+	
    <target name="identify">
       <echo message="###########################################################################"/>
       <echo message="#                Running the DISTRIBUTED QUEUE example                    #"/>

Copied: branches/Branch_JBMESSAGING_1416/docs/examples/distributed-queue/build.xml.AS5 (from rev 5772, branches/Branch_1_4/docs/examples/distributed-queue/build.xml.AS5)
===================================================================
--- branches/Branch_JBMESSAGING_1416/docs/examples/distributed-queue/build.xml.AS5	                        (rev 0)
+++ branches/Branch_JBMESSAGING_1416/docs/examples/distributed-queue/build.xml.AS5	2009-02-02 10:42:54 UTC (rev 5773)
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+   To run the example, set JBOSS_HOME and run ant (with no parameters)
+
+   The example requires a two nodes messaging-node0 and messaging-node1 to be running
+
+   $Id: build.xml 974 2006-05-22 21:35:38 -0600 (Mon, 22 May 2006) ovidiu $
+
+ -->
+
+<project name="DistributedQueueExample" default="run">
+
+	<property environment="ENV" />
+
+	<!-- These properties may be overriden by calling ants when this example is used in a smoke test -->
+	<property file="../examples.properties" />
+	<property name="jboss.home" value="${ENV.JBOSS_HOME}" />
+	<property name="messaging.client.jar.name" value="${jboss.home}/client/jboss-messaging-client.jar" />
+	<property name="jboss.configuration" value="messaging-node0" />
+	<property name="example.queue.name" value="testDistributedQueue" />
+	
+	<property name="ej3-extension" value="jar"/>
+
+	<path id="common.compilation.classpath">
+		<fileset file="${jboss.home}/client/jboss-javaee.jar" />
+		<fileset file="${messaging.client.jar.name}" />
+	</path>
+
+	<path id="example.compilation.classpath">
+		<path refid="common.compilation.classpath" />
+		<pathelement path="../common/output/classes" />
+	</path>
+
+	<path id="execution.classpath">
+		<pathelement path="./etc" />
+		<pathelement path="../common/output/classes" />
+		<pathelement path="./output/classes" />
+		<fileset dir="${jboss.home}/client" includes="*.jar" />
+	</path>
+
+	<target name="identify">
+		<echo message="###########################################################################" />
+		<echo message="#                Running the DISTRIBUTED QUEUE example                    #" />
+		<echo message="###########################################################################" />
+		<echo message="The queue:      ${example.queue.name}" />
+		<echo message="The client jar: ${messaging.client.jar.name}" />
+	</target>
+
+	<target name="sanity-check" depends="identify">
+		<available property="client.jar.present" file="${messaging.client.jar.name}" />
+		<fail message="Could not find client jar ${messaging.client.jar.name}" unless="client.jar.present" />
+	</target>
+
+	<target name="init" depends="sanity-check">
+		<mkdir dir="./output/classes" />
+		<mkdir dir="../common/output/classes" />
+	</target>
+
+	<target name="compile" depends="init">
+		<javac destdir="../common/output/classes" debug="on" debuglevel="lines,vars,source">
+			<src path="../common/src" />
+			<classpath refid="common.compilation.classpath" />
+		</javac>
+		<javac destdir="./output/classes" debug="on" debuglevel="lines,vars,source">
+			<src path="./src" />
+			<classpath refid="example.compilation.classpath" />
+		</javac>
+	</target>
+
+	<target name="run" depends="compile">
+		<!--
+           DistributedQueueExample expects to find the name of the queue to connect to as value of
+           the 'example.queue.name' property, which *may* be defined by calling ant when this
+           example is used in a smoke test.
+      -->
+		<java classname="org.jboss.example.jms.distributedqueue.DistributedQueueExample" classpathref="execution.classpath" fork="yes" failonerror="true">
+			<sysproperty key="example.queue.name" value="${example.queue.name}" />
+			<!--
+         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=y,suspend=y,address=example"/>
+          -->
+		</java>
+	</target>
+
+	<target name="clean">
+		<delete dir="./output" quiet="true" />
+		<delete dir="../common/output" quiet="true" />
+	</target>
+
+</project>
+


Property changes on: branches/Branch_JBMESSAGING_1416/docs/examples/distributed-topic
___________________________________________________________________
Name: svn:ignore
   + output


Modified: branches/Branch_JBMESSAGING_1416/docs/examples/distributed-topic/README.html
===================================================================
--- branches/Branch_JBMESSAGING_1416/docs/examples/distributed-topic/README.html	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/docs/examples/distributed-topic/README.html	2009-02-02 10:42:54 UTC (rev 5773)
@@ -22,7 +22,18 @@
 This example relies on having access to a running JBoss Messaging
 cluster with at least two nodes. The JBoss Messaging cluster must be
 installed and started according to the userguide.
+<br><br>
 <br>
+<br><br>
+For JBoss5, you should copy all as messaging-node0, configure mysql as a database, make it clustered, and copy it as messaging-node1. Start each instance as:
+<br><br>
+./run -c messaging-node0 -Djboss.service.binding.set=ports-01
+<br><br>
+<br>
+and in another window
+<br><br>
+./run.sh -c messaging-node1 -Djboss.service.binding.set=ports-02 -Djboss.messaging.ServerPeerID=1
+<br><br>
 <span style="font-style: italic;"></span><br>
 <h2>Running the example</h2>
 <span style="font-family: monospace;"></span><span

Modified: branches/Branch_JBMESSAGING_1416/docs/examples/distributed-topic/build.xml
===================================================================
--- branches/Branch_JBMESSAGING_1416/docs/examples/distributed-topic/build.xml	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/docs/examples/distributed-topic/build.xml	2009-02-02 10:42:54 UTC (rev 5773)
@@ -14,37 +14,39 @@
 
    <property file="../examples.properties"/>
 
-   <!-- These properties may be overriden by calling ants when this example is used in a smoke test -->
-   <property file="../examples.properties"/>
-   <property name="messaging.client.jar.path" value="../../"/>
-   <property name="messaging.client.jar.name" value="jboss-messaging-client.jar"/>
-   <property name="jboss.home" value="${ENV.JBOSS_HOME}"/>
-   <property name="jboss.configuration0" value="messaging-node0"/>
-   <property name="example.topic.name" value="testDistributedTopic"/>
+	<!-- These properties may be overriden by calling ants when this example is used in a smoke test -->
+	<property file="../examples.properties" />
+	<property name="messaging.client.jar.path" value="../../" />
+	<property name="messaging.client.jar.name" value="jboss-messaging-client.jar" />
+	<property name="jboss.home" value="${ENV.JBOSS_HOME}" />
+	<property name="jboss.configuration" value="messaging-node0" />
+	<property name="example.topic.name" value="testDistributedTopic" />
 
-   <path id="common.compilation.classpath">
-      <fileset file="${jboss.home}/client/jboss-j2ee.jar"/>
-      <fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}"/>
-   </path>
+	<property name="ej3-extension" value="ejb3"/>
+	
+	<path id="common.compilation.classpath">
+		<fileset file="${jboss.home}/client/jboss-j2ee.jar" />
+		<fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}" />
+	</path>
 
    <path id="example.compilation.classpath">
       <path refid="common.compilation.classpath"/>
       <pathelement path="../common/output/classes"/>
    </path>
 
-   <path id="execution.classpath">
-      <pathelement path="./etc"/>
-      <pathelement path="../common/output/classes"/>
-      <pathelement path="./output/classes"/>
-      <fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration0}/lib/jboss-remoting.jar"/>
-      <fileset file="${jboss.home}/client/jbossall-client.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration0}/lib/log4j.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration0}/lib/javassist.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration0}/deploy/jboss-aop-jdk50.deployer/jboss-aop-jdk50.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration0}/deploy/jboss-aop-jdk50.deployer/trove.jar"/>
-   </path>
-
+	<path id="execution.classpath">
+		<pathelement path="./etc" />
+		<pathelement path="../common/output/classes" />
+		<pathelement path="./output/classes" />
+		<fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/lib/jboss-remoting.jar" />
+		<fileset file="${jboss.home}/client/jbossall-client.jar" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/lib/log4j.jar" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/lib/javassist.jar" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/deploy/jboss-aop-jdk50.deployer/jboss-aop-jdk50.jar" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/deploy/jboss-aop-jdk50.deployer/trove.jar" />
+	</path>
+	
    <target name="identify">
       <echo message="###########################################################################"/>
       <echo message="#                Running the DISTRIBUTED TOPIC example                    #"/>

Copied: branches/Branch_JBMESSAGING_1416/docs/examples/distributed-topic/build.xml.AS5 (from rev 5772, branches/Branch_1_4/docs/examples/distributed-topic/build.xml.AS5)
===================================================================
--- branches/Branch_JBMESSAGING_1416/docs/examples/distributed-topic/build.xml.AS5	                        (rev 0)
+++ branches/Branch_JBMESSAGING_1416/docs/examples/distributed-topic/build.xml.AS5	2009-02-02 10:42:54 UTC (rev 5773)
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+   To run the example, set JBOSS_HOME and run ant (with no parameters)
+
+   $Id: build.xml 5392 2008-11-20 00:41:52Z clebert.suconic at jboss.com $
+
+ -->
+
+<project name="DistributedTopicExample" default="run">
+
+	<property environment="ENV" />
+
+	<property file="../examples.properties" />
+
+	<!-- These properties may be overriden by calling ants when this example is used in a smoke test -->
+	<property file="../examples.properties" />
+	<property name="jboss.home" value="${ENV.JBOSS_HOME}" />
+	<property name="messaging.client.jar.name" value="${jboss.home}/client/jboss-messaging-client.jar" />
+	<property name="jboss.configuration0" value="messaging-node0" />
+	<property name="example.topic.name" value="testDistributedTopic" />
+	
+	<property name="ej3-extension" value="jar"/>
+
+	<path id="common.compilation.classpath">
+		<fileset file="${jboss.home}/client/jboss-javaee.jar" />
+		<fileset file="${messaging.client.jar.name}" />
+	</path>
+
+	<path id="example.compilation.classpath">
+		<path refid="common.compilation.classpath" />
+		<pathelement path="../common/output/classes" />
+	</path>
+
+	<path id="execution.classpath">
+		<pathelement path="./etc" />
+		<pathelement path="../common/output/classes" />
+		<pathelement path="./output/classes" />
+		<fileset dir="${jboss.home}/client" includes="*.jar" />
+	</path>
+
+	<target name="identify">
+		<echo message="###########################################################################" />
+		<echo message="#                Running the DISTRIBUTED TOPIC example                    #" />
+		<echo message="###########################################################################" />
+		<echo message="The topic:      ${example.topic.name}" />
+		<echo message="The client jar: ${messaging.client.jar.name}" />
+	</target>
+
+	<target name="sanity-check" depends="identify">
+		<available property="client.jar.present" file="${messaging.client.jar.name}" />
+		<fail message="Could not find client jar ${messaging.client.jar.name}" unless="client.jar.present" />
+	</target>
+
+	<target name="init" depends="sanity-check">
+		<mkdir dir="./output/classes" />
+		<mkdir dir="../common/output/classes" />
+	</target>
+
+	<target name="compile" depends="init">
+		<javac destdir="../common/output/classes" debug="on" debuglevel="lines,vars,source">
+			<src path="../common/src" />
+			<classpath refid="common.compilation.classpath" />
+		</javac>
+		<javac destdir="./output/classes" debug="on" debuglevel="lines,vars,source">
+			<src path="./src" />
+			<classpath refid="example.compilation.classpath" />
+		</javac>
+	</target>
+
+	<target name="run" depends="compile">
+		<!--
+           DistributedTopicExample expects to find the name of the topic to connect to as value of
+           the 'example.topic.name' property, which *may* be defined by calling ant when this
+           example is used in a smoke test.
+      -->
+		<java classname="org.jboss.example.jms.distributedtopic.DistributedTopicExample" classpathref="execution.classpath" fork="yes" failonerror="true">
+			<sysproperty key="example.topic.name" value="${example.topic.name}" />
+			<!--
+         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=y,suspend=y,address=example"/>
+          -->
+		</java>
+	</target>
+
+	<target name="clean">
+		<delete dir="./output" quiet="true" />
+		<delete dir="../common/output" quiet="true" />
+	</target>
+
+</project>
+


Property changes on: branches/Branch_JBMESSAGING_1416/docs/examples/ejb3mdb
___________________________________________________________________
Name: svn:ignore
   + output


Modified: branches/Branch_JBMESSAGING_1416/docs/examples/ejb3mdb/build.xml
===================================================================
--- branches/Branch_JBMESSAGING_1416/docs/examples/ejb3mdb/build.xml	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/docs/examples/ejb3mdb/build.xml	2009-02-02 10:42:54 UTC (rev 5773)
@@ -19,31 +19,33 @@
    <property name="jboss.home" value="${ENV.JBOSS_HOME}"/>
    <property name="jboss.configuration" value="messaging"/>
    <property name="example.queue.name" value="testQueue"/>
+	
+	<property name="ej3-extension" value="ejb3"/>
+	
+	<path id="common.compilation.classpath">
+		<fileset file="${jboss.home}/client/jboss-j2ee.jar"/>
+		<fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}"/>
+		<fileset file="${jboss.home}/client/jboss-ejb3x.jar"/>
+	</path>
 
-   <path id="common.compilation.classpath">
-      <fileset file="${jboss.home}/client/jboss-j2ee.jar"/>
-      <fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}"/>
-      <fileset file="${jboss.home}/client/jboss-ejb3x.jar"/>
-   </path>
-
    <path id="example.compilation.classpath">
       <path refid="common.compilation.classpath"/>
       <pathelement path="../common/output/classes"/>
    </path>
 
-   <path id="execution.classpath">
-      <pathelement path="./etc"/>
-      <pathelement path="../common/output/classes"/>
-      <pathelement path="./output/classes"/>
-      <fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/lib/jboss-remoting.jar"/>
-      <fileset file="${jboss.home}/client/jbossall-client.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/lib/log4j.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/lib/javassist.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/deploy/jboss-aop-jdk50.deployer/jboss-aop-jdk50.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/deploy/jboss-aop-jdk50.deployer/trove.jar"/>
-   </path>
-
+	<path id="execution.classpath">
+		<pathelement path="./etc" />
+		<pathelement path="../common/output/classes" />
+		<pathelement path="./output/classes" />
+		<fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/lib/jboss-remoting.jar" />
+		<fileset file="${jboss.home}/client/jbossall-client.jar" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/lib/log4j.jar" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/lib/javassist.jar" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/deploy/jboss-aop-jdk50.deployer/jboss-aop-jdk50.jar" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/deploy/jboss-aop-jdk50.deployer/trove.jar" />
+	</path>
+	
    <target name="identify">
       <echo message="###########################################################################"/>
       <echo message="#                     Running the EJB3 MDB example                        #"/>
@@ -52,21 +54,12 @@
       <echo message="The client jar: ${messaging.client.jar.path}/${messaging.client.jar.name}"/>
    </target>
 
-   <target name="sanity-check" depends="identify">
-      <available property="client.jar.present" file="${messaging.client.jar.path}/${messaging.client.jar.name}"/>
-      <fail message="Could not find client jar ${messaging.client.jar.path}/${messaging.client.jar.name}"
-            unless="client.jar.present"/>
-      <available property="ejb3.support.installed" file="${jboss.home}/server/${jboss.configuration}/deploy/ejb3.deployer"/>
-      <fail message="EJB3 does not seem to be installed in ${jboss.home}/server/${jboss.configuration}! Install it and try again."
-            unless="ejb3.support.installed"/>
-   </target>
+	<target name="init" >
+		<mkdir dir="./output/classes/META-INF" />
+		<mkdir dir="./output/lib/META-INF" />
+		<mkdir dir="../common/output/classes" />
+	</target>
 
-   <target name="init" depends="sanity-check">
-      <mkdir dir="./output/classes/META-INF"/>
-      <mkdir dir="./output/lib/META-INF"/>
-      <mkdir dir="../common/output/classes"/>
-   </target>
-
    <target name="compile" depends="init">
       <javac destdir="../common/output/classes" debug="on" debuglevel="lines,vars,source">
          <src path="../common/src"/>
@@ -78,23 +71,22 @@
       </javac>
    </target>
 
-   <target name="jar" depends="compile">
-      <copy todir="./output/classes/META-INF" filtering="true">
-         <fileset dir="./etc/META-INF" includes="*"/>
-         <filterset>
-            <filter token="QUEUE_NAME" value="${example.queue.name}"/>
-         </filterset>
-      </copy>
-      <jar destfile="./output/lib/mdb-example.ejb3"
-           basedir="./output/classes"
-           includes="META-INF/**,org/jboss/example/**/EJB3MDBExample.class"/>
-   </target>
+	<target name="jar" depends="compile">
+		<copy todir="./output/classes/META-INF" filtering="true">
+			<fileset dir="./etc/META-INF" includes="*" />
+			<filterset>
+				<filter token="QUEUE_NAME" value="${example.queue.name}" />
+			</filterset>
+		</copy>
+		<jar destfile="./output/lib/mdb-example.${ej3-extension}" basedir="./output/classes" includes="META-INF/**,org/jboss/example/**/EJB3MDBExample.class" />
+	</target>
 
-   <target name="deploy" depends="jar">
-      <copy file="./output/lib/mdb-example.ejb3"
-            todir="${jboss.home}/server/${jboss.configuration}/deploy"/>
-      <antcall target="sleep"><param name="sleep.interval" value="5"/></antcall>
-   </target>
+	<target name="deploy" depends="jar">
+		<copy file="./output/lib/mdb-example.${ej3-extension}" todir="${jboss.home}/server/${jboss.configuration}/deploy" />
+		<antcall target="sleep">
+			<param name="sleep.interval" value="5" />
+		</antcall>
+	</target>
 
    <target name="run" depends="deploy">
       <antcall target="send"/>
@@ -114,9 +106,9 @@
       </java>
    </target>
 
-   <target name="undeploy">
-      <delete file="${jboss.home}/server/${jboss.configuration}/deploy/mdb-example.ejb3" quiet="true"/>
-   </target>
+	<target name="undeploy">
+		<delete file="${jboss.home}/server/${jboss.configuration}/deploy/mdb-example.${ej3-extension}" quiet="true" />
+	</target>
 
    <target name="clean" depends="undeploy">
       <delete dir="./output" quiet="true"/>

Copied: branches/Branch_JBMESSAGING_1416/docs/examples/ejb3mdb/build.xml.AS5 (from rev 5772, branches/Branch_1_4/docs/examples/ejb3mdb/build.xml.AS5)
===================================================================
--- branches/Branch_JBMESSAGING_1416/docs/examples/ejb3mdb/build.xml.AS5	                        (rev 0)
+++ branches/Branch_JBMESSAGING_1416/docs/examples/ejb3mdb/build.xml.AS5	2009-02-02 10:42:54 UTC (rev 5773)
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+   To run the example, set JBOSS_HOME and run ant (with no parameters)
+
+   $Id: build.xml 5392 2008-11-20 00:41:52Z clebert.suconic at jboss.com $
+
+ -->
+
+<project name="EJB3MDBExample" default="run">
+
+	<property environment="ENV" />
+
+	<!-- These properties may be overriden by calling ants when this example is used in a smoke test -->
+	<property file="../examples.properties" />
+	<property name="jboss.home" value="${ENV.JBOSS_HOME}" />
+	<property name="messaging.client.jar.name" value="${jboss.home}/client/jboss-messaging-client.jar" />
+	<property name="jboss.configuration" value="messaging" />
+	<property name="example.queue.name" value="testQueue" />
+	
+	<property name="ej3-extension" value="jar"/>
+
+	<path id="common.compilation.classpath">
+		<fileset file="${jboss.home}/client/jboss-javaee.jar" />
+		<fileset file="${messaging.client.jar.name}" />
+	</path>
+
+	<path id="example.compilation.classpath">
+		<path refid="common.compilation.classpath" />
+		<pathelement path="../common/output/classes" />
+	</path>
+
+	<path id="execution.classpath">
+		<pathelement path="./etc" />
+		<pathelement path="../common/output/classes" />
+		<pathelement path="./output/classes" />
+		<fileset dir="${jboss.home}/client" includes="*.jar" />
+	</path>
+
+
+	<target name="identify">
+		<echo message="###########################################################################" />
+		<echo message="#                     Running the EJB3 MDB example                        #" />
+		<echo message="###########################################################################" />
+		<echo message="The queue:      ${example.queue.name}" />
+		<echo message="The client jar: ${messaging.client.jar.name}" />
+	</target>
+
+	<target name="init" >
+		<mkdir dir="./output/classes/META-INF" />
+		<mkdir dir="./output/lib/META-INF" />
+		<mkdir dir="../common/output/classes" />
+	</target>
+
+	<target name="compile" depends="init">
+		<javac destdir="../common/output/classes" debug="on" debuglevel="lines,vars,source">
+			<src path="../common/src" />
+			<classpath refid="common.compilation.classpath" />
+		</javac>
+		<javac destdir="./output/classes" debug="on" debuglevel="lines,vars,source">
+			<src path="./src" />
+			<classpath refid="example.compilation.classpath" />
+		</javac>
+	</target>
+
+	<target name="jar" depends="compile">
+		<copy todir="./output/classes/META-INF" filtering="true">
+			<fileset dir="./etc/META-INF" includes="*" />
+			<filterset>
+				<filter token="QUEUE_NAME" value="${example.queue.name}" />
+			</filterset>
+		</copy>
+		<jar destfile="./output/lib/mdb-example.${ej3-extension}" basedir="./output/classes" includes="META-INF/**,org/jboss/example/**/EJB3MDBExample.class" />
+	</target>
+
+	<target name="deploy" depends="jar">
+		<copy file="./output/lib/mdb-example.${ej3-extension}" todir="${jboss.home}/server/${jboss.configuration}/deploy" />
+		<antcall target="sleep">
+			<param name="sleep.interval" value="5" />
+		</antcall>
+	</target>
+
+	<target name="run" depends="deploy">
+		<antcall target="send" />
+		<antcall target="undeploy" />
+	</target>
+
+	<target name="send">
+		<!-- MDBExample expects to find the name of the queue to connect to as value of the
+           'example.queue.name' property, which *may* be defined by calling ants when this example
+            is used in a smoke test -->
+		<java classname="org.jboss.example.jms.ejb3mdb.Sender" classpathref="execution.classpath" fork="yes" failonerror="true">
+			<sysproperty key="example.queue.name" value="${example.queue.name}" />
+			<!--
+         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=y,suspend=y,address=example"/>
+          -->
+		</java>
+	</target>
+
+	<target name="undeploy">
+		<delete file="${jboss.home}/server/${jboss.configuration}/deploy/mdb-example.${ej3-extension}" quiet="true" />
+	</target>
+
+	<target name="clean" depends="undeploy">
+		<delete dir="./output" quiet="true" />
+		<delete dir="../common/output" quiet="true" />
+	</target>
+
+	<target name="sleep">
+		<echo message="Sleeping for ${sleep.interval} seconds ..." />
+		<sleep seconds="${sleep.interval}" />
+	</target>
+
+</project>
+

Deleted: branches/Branch_JBMESSAGING_1416/docs/examples/ejb3mdb/etc/META-INF/ejb-jar.xml
===================================================================
--- branches/Branch_JBMESSAGING_1416/docs/examples/ejb3mdb/etc/META-INF/ejb-jar.xml	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/docs/examples/ejb3mdb/etc/META-INF/ejb-jar.xml	2009-02-02 10:42:54 UTC (rev 5773)
@@ -1,25 +0,0 @@
-<?xml version='1.0' encoding='UTF-8' ?>
-<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN"
-    "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
-
-<!-- $Id$ -->
-
-<!--
-    Note: This deployment descriptor (or any deployment descriptor) is NOT mandatory with EJB3 beans.
-          It is here to:
-          1. Demonstrate the use of deployment descriptors, in case you need to override
-             configuration at deployment.
-          2. Add a degree of flexibility to this example to be used with smoke tests.
--->
-<ejb-jar>
-    <enterprise-beans>
-        <message-driven>
-            <ejb-name>EJB3MDBExample</ejb-name>
-            <ejb-class>org.jboss.example.jms.ejb3mdb.EJB3MDBExample</ejb-class>
-            <transaction-type>Container</transaction-type>
-            <message-driven-destination>
-               <destination-type>javax.jms.Queue</destination-type>
-            </message-driven-destination>
-        </message-driven>
-    </enterprise-beans>
-</ejb-jar>
\ No newline at end of file

Deleted: branches/Branch_JBMESSAGING_1416/docs/examples/ejb3mdb/etc/META-INF/jboss.xml
===================================================================
--- branches/Branch_JBMESSAGING_1416/docs/examples/ejb3mdb/etc/META-INF/jboss.xml	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/docs/examples/ejb3mdb/etc/META-INF/jboss.xml	2009-02-02 10:42:54 UTC (rev 5773)
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE jboss PUBLIC
-   "-//JBoss//DTD JBOSS 3.0//EN"
-   "http://www.jboss.org/j2ee/dtd/jboss_3_0.dtd">
-
-<!-- $Id$ -->
-
-<!--
-    Note: This deployment descriptor (or any deployment descriptor) is NOT mandatory with EJB3 beans.
-          It is here to:
-          1. Demonstrate the use of deployment descriptors, in case you need to override
-             configuration at deployment.
-          2. Add a degree of flexibility to this example to be used with smoke tests.
--->
-<jboss>
-
-   <enterprise-beans>
-      <message-driven>
-         <ejb-name>EJB3MDBExample</ejb-name>
-         <destination-jndi-name>queue/@QUEUE_NAME@</destination-jndi-name>
-      </message-driven>
-   </enterprise-beans>
-
-</jboss>
-

Modified: branches/Branch_JBMESSAGING_1416/docs/examples/http/README.html
===================================================================
--- branches/Branch_JBMESSAGING_1416/docs/examples/http/README.html	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/docs/examples/http/README.html	2009-02-02 10:42:54 UTC (rev 5773)
@@ -56,7 +56,7 @@
     <tr>
       <td style="vertical-align: top;"><br>
 &nbsp;&nbsp; <span style="font-family: monospace;">cd
-...\examples\secure-socket</span><br>
+...\examples\http</span><br>
       <br>
       </td>
     </tr>

Modified: branches/Branch_JBMESSAGING_1416/docs/examples/http/build.xml
===================================================================
--- branches/Branch_JBMESSAGING_1416/docs/examples/http/build.xml	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/docs/examples/http/build.xml	2009-02-02 10:42:54 UTC (rev 5773)
@@ -20,30 +20,30 @@
    <property name="jboss.home" value="${ENV.JBOSS_HOME}"/>
    <property name="jboss.configuration" value="messaging"/>
    <property name="example.queue.name" value="testQueue"/>
+	
+	<path id="common.compilation.classpath">
+		<fileset file="${jboss.home}/client/jboss-j2ee.jar" />
+		<fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}" />
+	</path>
 
-   <path id="common.compilation.classpath">
-      <fileset file="${jboss.home}/client/jboss-j2ee.jar"/>
-      <fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}"/>
-   </path>
-
    <path id="example.compilation.classpath">
       <path refid="common.compilation.classpath"/>
       <pathelement path="../common/output/classes"/>
    </path>
 
-   <path id="execution.classpath">
-      <pathelement path="./etc"/>
-      <pathelement path="../common/output/classes"/>
-      <pathelement path="./output/classes"/>
-      <fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/lib/jboss-remoting.jar"/>
-      <fileset file="${jboss.home}/client/jbossall-client.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/lib/log4j.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/lib/javassist.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/deploy/jboss-aop-jdk50.deployer/jboss-aop-jdk50.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/deploy/jboss-aop-jdk50.deployer/trove.jar"/>
-   </path>
-
+	<path id="execution.classpath">
+		<pathelement path="./etc" />
+		<pathelement path="../common/output/classes" />
+		<pathelement path="./output/classes" />
+		<fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/lib/jboss-remoting.jar" />
+		<fileset file="${jboss.home}/client/jbossall-client.jar" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/lib/log4j.jar" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/lib/javassist.jar" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/deploy/jboss-aop-jdk50.deployer/jboss-aop-jdk50.jar" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/deploy/jboss-aop-jdk50.deployer/trove.jar" />
+	</path>
+	
    <target name="identify">
       <echo message="############################################################################"/>
       <echo message="#                         Running the HTTP example                         #"/>
@@ -52,17 +52,11 @@
       <echo message="The client jar: ${messaging.client.jar.path}/${messaging.client.jar.name}"/>
    </target>
 
-   <target name="sanity-check" depends="identify">
-      <available property="client.jar.present" file="${messaging.client.jar.path}/${messaging.client.jar.name}"/>
-      <fail message="Could not find client jar ${messaging.client.jar.path}/${messaging.client.jar.name}"
-            unless="client.jar.present"/>
-   </target>
+	<target name="init" >
+		<mkdir dir="./output/classes" />
+		<mkdir dir="../common/output/classes" />
+	</target>
 
-   <target name="init" depends="sanity-check">
-      <mkdir dir="./output/classes"/>
-      <mkdir dir="../common/output/classes"/>
-   </target>
-
    <target name="compile" depends="init">
       <javac destdir="../common/output/classes" debug="on" debuglevel="lines,vars,source">
          <src path="../common/src"/>

Copied: branches/Branch_JBMESSAGING_1416/docs/examples/http/build.xml.AS5 (from rev 5772, branches/Branch_1_4/docs/examples/http/build.xml.AS5)
===================================================================
--- branches/Branch_JBMESSAGING_1416/docs/examples/http/build.xml.AS5	                        (rev 0)
+++ branches/Branch_JBMESSAGING_1416/docs/examples/http/build.xml.AS5	2009-02-02 10:42:54 UTC (rev 5773)
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+   To run the example, set JBOSS_HOME and run ant (with no parameters)
+
+   $Id: build.xml 5392 2008-11-20 00:41:52Z clebert.suconic at jboss.com $
+
+ -->
+
+<project name="HttpExample" default="run">
+
+	<property environment="ENV" />
+
+	<!-- These properties may be overriden by calling ants when this example is used in a smoke test -->
+	<property file="../examples.properties" />
+	<property name="remoting.path" value="../config" />
+	<property name="jboss.home" value="${ENV.JBOSS_HOME}" />
+	<property name="messaging.client.jar.name" value="${jboss.home}/client/jboss-messaging-client.jar" />
+	<property name="jboss.configuration" value="messaging" />
+	<property name="example.queue.name" value="testQueue" />
+
+	<path id="common.compilation.classpath">
+		<fileset file="${jboss.home}/client/jboss-javaee.jar" />
+		<fileset file="${messaging.client.jar.name}" />
+	</path>
+
+	<path id="example.compilation.classpath">
+		<path refid="common.compilation.classpath" />
+		<pathelement path="../common/output/classes" />
+	</path>
+
+	<path id="execution.classpath">
+		<pathelement path="./etc" />
+		<pathelement path="../common/output/classes" />
+		<pathelement path="./output/classes" />
+		<fileset dir="${jboss.home}/client" includes="*.jar" />
+	</path>
+
+
+	<target name="identify">
+		<echo message="############################################################################" />
+		<echo message="#                         Running the HTTP example                         #" />
+		<echo message="############################################################################" />
+		<echo message="The queue:      ${example.queue.name}" />
+		<echo message="The client jar: ${messaging.client.jar.name}" />
+	</target>
+
+	<target name="init" >
+		<mkdir dir="./output/classes" />
+		<mkdir dir="../common/output/classes" />
+	</target>
+
+	<target name="compile" depends="init">
+		<javac destdir="../common/output/classes" debug="on" debuglevel="lines,vars,source">
+			<src path="../common/src" />
+			<classpath refid="common.compilation.classpath" />
+		</javac>
+		<javac destdir="./output/classes" debug="on" debuglevel="lines,vars,source">
+			<src path="./src" />
+			<classpath refid="example.compilation.classpath" />
+		</javac>
+	</target>
+
+	<target name="deploy">
+		<copy file="${remoting.path}/remoting-http-service.xml" todir="${jboss.home}/server/${jboss.configuration}/deploy" />
+		<copy file="./etc/messaging-http-service.xml" todir="${jboss.home}/server/${jboss.configuration}/deploy" />
+		<antcall target="sleep">
+			<param name="sleep.interval" value="10" />
+		</antcall>
+	</target>
+
+	<target name="run" depends="compile, deploy">
+		<!-- QueueExample expects to find the name of the queue to connect to as value of the
+           'example.queue.name' property, which *may* be defined by calling ants when this example
+            is used in a smoke test -->
+		<java classname="org.jboss.example.jms.http.HttpExample" classpathref="execution.classpath" fork="yes" failonerror="true">
+			<sysproperty key="example.queue.name" value="${example.queue.name}" />
+			<!--
+         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=y,suspend=y,address=example"/>
+         -->
+		</java>
+		<antcall target="undeploy" />
+	</target>
+
+	<target name="undeploy">
+		<delete file="${jboss.home}/server/${jboss.configuration}/deploy/messaging-http-service.xml" quiet="true" />
+		<delete file="${jboss.home}/server/${jboss.configuration}/deploy/remoting-http-service.xml" quiet="true" />
+	</target>
+
+	<target name="clean" depends="undeploy">
+		<delete dir="./output" quiet="true" />
+		<delete dir="../common/output" quiet="true" />
+	</target>
+
+	<target name="sleep">
+		<echo message="Sleeping for ${sleep.interval} seconds ..." />
+		<sleep seconds="${sleep.interval}" />
+	</target>
+
+</project>
+


Property changes on: branches/Branch_JBMESSAGING_1416/docs/examples/mdb
___________________________________________________________________
Name: svn:ignore
   + output


Modified: branches/Branch_JBMESSAGING_1416/docs/examples/mdb/build.xml
===================================================================
--- branches/Branch_JBMESSAGING_1416/docs/examples/mdb/build.xml	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/docs/examples/mdb/build.xml	2009-02-02 10:42:54 UTC (rev 5773)
@@ -20,29 +20,31 @@
    <property name="jboss.configuration" value="messaging"/>
    <property name="example.queue.name" value="testQueue"/>
 
-   <path id="common.compilation.classpath">
-      <fileset file="${jboss.home}/client/jboss-j2ee.jar"/>
-      <fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}"/>
-   </path>
+	<property name="ej3-extension" value="ejb3"/>
+	
+	<path id="common.compilation.classpath">
+		<fileset file="${jboss.home}/client/jboss-j2ee.jar" />
+		<fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}" />
+	</path>
 
    <path id="example.compilation.classpath">
       <path refid="common.compilation.classpath"/>
       <pathelement path="../common/output/classes"/>
    </path>
 
-   <path id="execution.classpath">
-      <pathelement path="./etc"/>
-      <pathelement path="../common/output/classes"/>
-      <pathelement path="./output/classes"/>
-      <fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/lib/jboss-remoting.jar"/>
-      <fileset file="${jboss.home}/client/jbossall-client.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/lib/log4j.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/lib/javassist.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/deploy/jboss-aop-jdk50.deployer/jboss-aop-jdk50.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/deploy/jboss-aop-jdk50.deployer/trove.jar"/>
-   </path>
-
+	<path id="execution.classpath">
+		<pathelement path="./etc" />
+		<pathelement path="../common/output/classes" />
+		<pathelement path="./output/classes" />
+		<fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/lib/jboss-remoting.jar" />
+		<fileset file="${jboss.home}/client/jbossall-client.jar" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/lib/log4j.jar" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/lib/javassist.jar" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/deploy/jboss-aop-jdk50.deployer/jboss-aop-jdk50.jar" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/deploy/jboss-aop-jdk50.deployer/trove.jar" />
+	</path>
+	
    <target name="identify">
       <echo message="###########################################################################"/>
       <echo message="#                        Running the MDB example                          #"/>

Copied: branches/Branch_JBMESSAGING_1416/docs/examples/mdb/build.xml.AS5 (from rev 5772, branches/Branch_1_4/docs/examples/mdb/build.xml.AS5)
===================================================================
--- branches/Branch_JBMESSAGING_1416/docs/examples/mdb/build.xml.AS5	                        (rev 0)
+++ branches/Branch_JBMESSAGING_1416/docs/examples/mdb/build.xml.AS5	2009-02-02 10:42:54 UTC (rev 5773)
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+   To run the example, set JBOSS_HOME and run ant (with no parameters)
+
+   $Id: build.xml 5392 2008-11-20 00:41:52Z clebert.suconic at jboss.com $
+
+ -->
+
+<project name="MDBExample" default="run">
+
+	<property environment="ENV" />
+
+	<!-- These properties may be overriden by calling ants when this example is used in a smoke test -->
+	<property file="../examples.properties" />
+	<property name="jboss.home" value="${ENV.JBOSS_HOME}" />
+	<property name="messaging.client.jar.name" value="${jboss.home}/client/jboss-messaging-client.jar" />
+	<property name="jboss.configuration" value="messaging" />
+	<property name="example.queue.name" value="testQueue" />
+	
+	<property name="ej3-extension" value="jar"/>
+
+	<path id="common.compilation.classpath">
+		<fileset file="${jboss.home}/client/jboss-javaee.jar" />
+		<fileset file="${messaging.client.jar.name}" />
+	</path>
+
+	<path id="example.compilation.classpath">
+		<path refid="common.compilation.classpath" />
+		<pathelement path="../common/output/classes" />
+	</path>
+
+	<path id="execution.classpath">
+		<pathelement path="./etc" />
+		<pathelement path="../common/output/classes" />
+		<pathelement path="./output/classes" />
+		<fileset dir="${jboss.home}/client" includes="*.jar" />
+	</path>
+
+	<target name="identify">
+		<echo message="###########################################################################" />
+		<echo message="#                        Running the MDB example                          #" />
+		<echo message="###########################################################################" />
+		<echo message="The queue:      ${example.queue.name}" />
+		<echo message="The client jar: ${messaging.client.jar.name}" />
+	</target>
+
+	<target name="sanity-check" depends="identify">
+		<available property="client.jar.present" file="${messaging.client.jar.name}" />
+		<fail message="Could not find client jar ${messaging.client.jar.name}" unless="client.jar.present" />
+	</target>
+
+	<target name="init" depends="sanity-check">
+		<mkdir dir="./output/classes/META-INF" />
+		<mkdir dir="./output/lib/META-INF" />
+		<mkdir dir="../common/output/classes" />
+	</target>
+
+	<target name="compile" depends="init">
+		<javac destdir="../common/output/classes" debug="on" debuglevel="lines,vars,source">
+			<src path="../common/src" />
+			<classpath refid="common.compilation.classpath" />
+		</javac>
+		<javac destdir="./output/classes" debug="on" debuglevel="lines,vars,source">
+			<src path="./src" />
+			<classpath refid="example.compilation.classpath" />
+		</javac>
+	</target>
+
+	<target name="jar" depends="compile">
+		<copy todir="./output/classes/META-INF" filtering="true">
+			<fileset dir="./etc/META-INF" includes="*" />
+			<filterset>
+				<filter token="QUEUE_NAME" value="${example.queue.name}" />
+			</filterset>
+		</copy>
+		<jar destfile="./output/lib/mdb-example.jar" basedir="./output/classes" includes="META-INF/**,org/jboss/example/**/MDBExample.class">
+		</jar>
+	</target>
+
+	<target name="ear" depends="jar">
+		<jar destfile="./output/lib/mdb-example.ear">
+			<zipfileset dir="./output/lib" includes="mdb-example.jar" />
+			<zipfileset dir="./etc/EAR-META-INF" prefix="META-INF" />
+		</jar>
+	</target>
+
+	<target name="deploy" depends="ear">
+		<copy file="./output/lib/mdb-example.ear" todir="${jboss.home}/server/${jboss.configuration}/deploy" />
+		<antcall target="sleep">
+			<param name="sleep.interval" value="5" />
+		</antcall>
+	</target>
+
+	<target name="run" depends="deploy">
+		<antcall target="send" />
+		<antcall target="undeploy" />
+	</target>
+
+	<target name="send">
+		<!-- MDBExample expects to find the name of the queue to connect to as value of the
+           'example.queue.name' property, which *may* be defined by calling ants when this example
+            is used in a smoke test -->
+		<java classname="org.jboss.example.jms.mdb.Sender" classpathref="execution.classpath" fork="yes" failonerror="true">
+			<sysproperty key="example.queue.name" value="${example.queue.name}" />
+			<!--
+         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=y,suspend=y,address=example"/>
+          -->
+		</java>
+	</target>
+
+	<target name="undeploy">
+		<delete file="${jboss.home}/server/${jboss.configuration}/deploy/mdb-example.ear" quiet="true" />
+	</target>
+
+	<target name="clean" depends="undeploy">
+		<delete dir="./output" quiet="true" />
+		<delete dir="../common/output" quiet="true" />
+	</target>
+
+	<target name="sleep">
+		<echo message="Sleeping for ${sleep.interval} seconds ..." />
+		<sleep seconds="${sleep.interval}" />
+	</target>
+
+</project>
+


Property changes on: branches/Branch_JBMESSAGING_1416/docs/examples/mdb-failure
___________________________________________________________________
Name: svn:ignore
   + output


Modified: branches/Branch_JBMESSAGING_1416/docs/examples/mdb-failure/build.xml
===================================================================
--- branches/Branch_JBMESSAGING_1416/docs/examples/mdb-failure/build.xml	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/docs/examples/mdb-failure/build.xml	2009-02-02 10:42:54 UTC (rev 5773)
@@ -23,29 +23,31 @@
    <property name="jboss.configuration" value="messaging"/>
    <property name="example.queue.name" value="testQueue"/>
 
-   <path id="common.compilation.classpath">
-      <fileset file="${jboss.home}/client/jboss-j2ee.jar"/>
-      <fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}"/>
-   </path>
+	<property name="ej3-extension" value="ejb3"/>
+	
+	<path id="common.compilation.classpath">
+		<fileset file="${jboss.home}/client/jboss-j2ee.jar" />
+		<fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}" />
+	</path>
 
    <path id="example.compilation.classpath">
       <path refid="common.compilation.classpath"/>
       <pathelement path="../common/output/classes"/>
    </path>
 
-   <path id="execution.classpath">
-      <pathelement path="./etc"/>
-      <pathelement path="../common/output/classes"/>
-      <pathelement path="./output/classes"/>
-      <fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/lib/jboss-remoting.jar"/>
-      <fileset file="${jboss.home}/client/jbossall-client.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/lib/log4j.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/lib/javassist.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/deploy/jboss-aop-jdk50.deployer/jboss-aop-jdk50.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/deploy/jboss-aop-jdk50.deployer/trove.jar"/>
-   </path>
-
+	<path id="execution.classpath">
+		<pathelement path="./etc" />
+		<pathelement path="../common/output/classes" />
+		<pathelement path="./output/classes" />
+		<fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/lib/jboss-remoting.jar" />
+		<fileset file="${jboss.home}/client/jbossall-client.jar" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/lib/log4j.jar" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/lib/javassist.jar" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/deploy/jboss-aop-jdk50.deployer/jboss-aop-jdk50.jar" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/deploy/jboss-aop-jdk50.deployer/trove.jar" />
+	</path>
+	
    <target name="identify">
       <echo message="###########################################################################"/>
       <echo message="#                    Running the MDB Failure example                      #"/>

Copied: branches/Branch_JBMESSAGING_1416/docs/examples/mdb-failure/build.xml.AS5 (from rev 5772, branches/Branch_1_4/docs/examples/mdb-failure/build.xml.AS5)
===================================================================
--- branches/Branch_JBMESSAGING_1416/docs/examples/mdb-failure/build.xml.AS5	                        (rev 0)
+++ branches/Branch_JBMESSAGING_1416/docs/examples/mdb-failure/build.xml.AS5	2009-02-02 10:42:54 UTC (rev 5773)
@@ -0,0 +1,129 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+   To run the example, set JBOSS_HOME and run ant (with no parameters)
+
+   $Id: build.xml 974 2006-05-23 03:35:38Z ovidiu $
+
+ -->
+
+<project name="MDBFailureExample" default="run">
+
+	<property environment="ENV" />
+
+	<property name="undeploy.quiet" value="false" />
+	<property name="undeploy.failonerror" value="true" />
+
+	<!-- These properties may be overriden by calling ants when this example is used in a smoke test -->
+	<property file="../examples.properties" />
+	<property name="jboss.home" value="${ENV.JBOSS_HOME}" />
+	<property name="messaging.client.jar.name" value="${jboss.home}/client/jboss-messaging-client.jar" />
+	<property name="jboss.configuration" value="messaging" />
+	<property name="example.queue.name" value="testQueue" />
+	
+	<property name="ej3-extension" value="jar"/>
+
+	<path id="common.compilation.classpath">
+		<fileset file="${jboss.home}/client/jboss-javaee.jar" />
+		<fileset file="${messaging.client.jar.name}" />
+	</path>
+
+	<path id="example.compilation.classpath">
+		<path refid="common.compilation.classpath" />
+		<pathelement path="../common/output/classes" />
+	</path>
+
+	<path id="execution.classpath">
+		<pathelement path="./etc" />
+		<pathelement path="../common/output/classes" />
+		<pathelement path="./output/classes" />
+		<fileset dir="${jboss.home}/client" includes="*.jar" />
+	</path>
+
+	<target name="identify">
+		<echo message="###########################################################################" />
+		<echo message="#                    Running the MDB Failure example                      #" />
+		<echo message="###########################################################################" />
+		<echo message="The queue:      ${example.queue.name}" />
+		<echo message="The client jar: ${messaging.client.jar.name}" />
+	</target>
+
+	<target name="sanity-check" depends="identify">
+		<available property="client.jar.present" file="${messaging.client.jar.name}" />
+		<fail message="Could not find client jar ${messaging.client.jar.name}" unless="client.jar.present" />
+	</target>
+
+	<target name="init" depends="sanity-check">
+		<mkdir dir="./output/classes/META-INF" />
+		<mkdir dir="./output/lib/META-INF" />
+		<mkdir dir="../common/output/classes" />
+	</target>
+
+	<target name="compile" depends="init">
+		<javac destdir="../common/output/classes" debug="on" debuglevel="lines,vars,source">
+			<src path="../common/src" />
+			<classpath refid="common.compilation.classpath" />
+		</javac>
+		<javac destdir="./output/classes" debug="on" debuglevel="lines,vars,source">
+			<src path="./src" />
+			<classpath refid="example.compilation.classpath" />
+		</javac>
+	</target>
+
+	<target name="jar" depends="compile">
+		<copy todir="./output/classes/META-INF" filtering="true">
+			<fileset dir="./etc/META-INF" includes="*" />
+			<filterset>
+				<filter token="QUEUE_NAME" value="${example.queue.name}" />
+			</filterset>
+		</copy>
+		<jar destfile="./output/lib/mdb-failure-example.jar" basedir="./output/classes" includes="META-INF/**,org/jboss/example/**/MDBFailureExample.class" />
+	</target>
+
+	<target name="deploy" depends="jar">
+		<copy file="./output/lib/mdb-failure-example.jar" todir="${jboss.home}/server/${jboss.configuration}/deploy" />
+		<antcall target="sleep">
+			<param name="sleep.interval" value="5" />
+		</antcall>
+	</target>
+
+	<target name="run" depends="deploy">
+		<antcall target="send" />
+		<antcall target="sleep">
+			<param name="sleep.interval" value="10" />
+		</antcall>
+		<antcall target="undeploy">
+			<param name="undeploy.quiet" value="false" />
+			<param name="undeploy.failonerror" value="true" />
+		</antcall>
+	</target>
+
+	<target name="send">
+		<!-- MDBFailureExample expects to find the name of the queue to connect to as value of the
+           'example.queue.name' property, which *may* be defined by calling ants when this example
+            is used in a smoke test -->
+		<java classname="org.jboss.example.jms.mdbfailure.Sender" classpathref="execution.classpath" fork="yes" failonerror="true">
+			<sysproperty key="example.queue.name" value="${example.queue.name}" />
+			<!--
+         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=y,suspend=y,address=example"/>
+          -->
+		</java>
+	</target>
+
+	<target name="undeploy">
+		<delete file="${jboss.home}/server/${jboss.configuration}/deploy/mdb-failure-example.jar" quiet="${undeploy.quiet}" failonerror="${undeploy.failonerror}" />
+	</target>
+
+	<target name="clean" depends="undeploy">
+		<delete dir="./output" quiet="true" />
+		<delete dir="../common/output" quiet="true" />
+	</target>
+
+	<target name="sleep">
+		<echo message="Sleeping for ${sleep.interval} seconds ..." />
+		<sleep seconds="${sleep.interval}" />
+	</target>
+
+</project>
+

Modified: branches/Branch_JBMESSAGING_1416/docs/examples/queue/build.xml
===================================================================
--- branches/Branch_JBMESSAGING_1416/docs/examples/queue/build.xml	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/docs/examples/queue/build.xml	2009-02-02 10:42:54 UTC (rev 5773)
@@ -19,29 +19,29 @@
    <property name="jboss.home" value="${ENV.JBOSS_HOME}"/>
    <property name="jboss.configuration" value="messaging"/>
    <property name="example.queue.name" value="testQueue"/>
+	
+	<path id="common.compilation.classpath">
+		<fileset file="${jboss.home}/client/jboss-j2ee.jar" />
+		<fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}" />
+	</path>
 
-   <path id="common.compilation.classpath">
-      <fileset file="${jboss.home}/client/jboss-j2ee.jar"/>
-      <fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}"/>
-   </path>
-
    <path id="example.compilation.classpath">
       <path refid="common.compilation.classpath"/>
       <pathelement path="../common/output/classes"/>
    </path>
 
-   <path id="execution.classpath">
-      <pathelement path="./etc"/>
-      <pathelement path="../common/output/classes"/>
-      <pathelement path="./output/classes"/>
-      <fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/lib/jboss-remoting.jar"/>
-      <fileset file="${jboss.home}/client/jbossall-client.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/lib/log4j.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/lib/javassist.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/deploy/jboss-aop-jdk50.deployer/jboss-aop-jdk50.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/deploy/jboss-aop-jdk50.deployer/trove.jar"/>
-   </path>
+	<path id="execution.classpath">
+		<pathelement path="./etc" />
+		<pathelement path="../common/output/classes" />
+		<pathelement path="./output/classes" />
+		<fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/lib/jboss-remoting.jar" />
+		<fileset file="${jboss.home}/client/jbossall-client.jar" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/lib/log4j.jar" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/lib/javassist.jar" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/deploy/jboss-aop-jdk50.deployer/jboss-aop-jdk50.jar" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/deploy/jboss-aop-jdk50.deployer/trove.jar" />
+	</path>
 
    <target name="identify">
       <echo message="###########################################################################"/>

Copied: branches/Branch_JBMESSAGING_1416/docs/examples/queue/build.xml.AS5 (from rev 5772, branches/Branch_1_4/docs/examples/queue/build.xml.AS5)
===================================================================
--- branches/Branch_JBMESSAGING_1416/docs/examples/queue/build.xml.AS5	                        (rev 0)
+++ branches/Branch_JBMESSAGING_1416/docs/examples/queue/build.xml.AS5	2009-02-02 10:42:54 UTC (rev 5773)
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+   To run the example, set JBOSS_HOME and run ant (with no parameters)
+
+   $Id: build.xml 5392 2008-11-20 00:41:52Z clebert.suconic at jboss.com $
+
+ -->
+
+<project name="QueueExample" default="run">
+
+	<property environment="ENV" />
+
+	<!-- These properties may be overriden by calling ants when this example is used in a smoke test -->
+	<property file="../examples.properties" />
+	<property name="jboss.home" value="${ENV.JBOSS_HOME}" />
+	<property name="messaging.client.jar.name" value="${jboss.home}/client/jboss-messaging-client.jar" />
+	<property name="jboss.configuration" value="messaging" />
+	<property name="example.queue.name" value="testQueue" />
+
+	<path id="common.compilation.classpath">
+		<fileset file="${jboss.home}/client/jboss-javaee.jar" />
+		<fileset file="${messaging.client.jar.name}" />
+	</path>
+
+	<path id="example.compilation.classpath">
+		<path refid="common.compilation.classpath" />
+		<pathelement path="../common/output/classes" />
+	</path>
+
+	<path id="execution.classpath">
+		<pathelement path="./etc" />
+		<pathelement path="../common/output/classes" />
+		<pathelement path="./output/classes" />
+		<fileset dir="${jboss.home}/client" includes="*.jar" />
+	</path>
+
+	<target name="identify">
+		<echo message="###########################################################################" />
+		<echo message="#                       Running the QUEUE example                         #" />
+		<echo message="###########################################################################" />
+		<echo message="The queue:      ${example.queue.name}" />
+		<echo message="The client jar: ${messaging.client.jar.name}" />
+	</target>
+
+	<target name="sanity-check" depends="identify">
+		<available property="client.jar.present" file="${messaging.client.jar.name}" />
+		<fail message="Could not find client jar ${messaging.client.jar.name}" unless="client.jar.present" />
+	</target>
+
+	<target name="init" depends="sanity-check">
+		<mkdir dir="./output/classes" />
+		<mkdir dir="../common/output/classes" />
+	</target>
+
+	<target name="compile" depends="init">
+		<javac destdir="../common/output/classes" debug="on" debuglevel="lines,vars,source">
+			<src path="../common/src" />
+			<classpath refid="common.compilation.classpath" />
+		</javac>
+		<javac destdir="./output/classes" debug="on" debuglevel="lines,vars,source">
+			<src path="./src" />
+			<classpath refid="example.compilation.classpath" />
+		</javac>
+	</target>
+
+	<target name="run" depends="compile">
+		<!-- QueueExample expects to find the name of the queue to connect to as value of the
+           'example.queue.name' property, which *may* be defined by calling ants when this example
+            is used in a smoke test -->
+		<java classname="org.jboss.example.jms.queue.QueueExample" classpathref="execution.classpath" fork="yes" failonerror="true">
+			<sysproperty key="example.queue.name" value="${example.queue.name}" />
+			<!--
+         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=y,suspend=y,address=example"/>
+         -->
+		</java>
+	</target>
+
+	<target name="clean">
+		<delete dir="./output" quiet="true" />
+		<delete dir="../common/output" quiet="true" />
+	</target>
+
+</project>
+

Modified: branches/Branch_JBMESSAGING_1416/docs/examples/queue-failover/README.html
===================================================================
--- branches/Branch_JBMESSAGING_1416/docs/examples/queue-failover/README.html	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/docs/examples/queue-failover/README.html	2009-02-02 10:42:54 UTC (rev 5773)
@@ -22,7 +22,6 @@
 This example relies on having access to a running JBoss Messaging
 cluster with at least two nodes. The JBoss Messaging cluster must be
 installed and started according to the userguide.
-<br>
 This example also relies on having access to the <span
  style="font-family: monospace;">jboss-messaging-client.jar</span>
 archive included with the release bundle. If you run this example
@@ -31,6 +30,17 @@
 configured to find the client jar. Otherwise, you must modify example's
 <span style="font-family: monospace;">build.xml</span> accordingly.<br>
 <span style="font-style: italic;"></span><br>
+<br>
+<br><br>
+For JBoss5, you should copy all as messaging-node0, configure mysql as a database, make it clustered, and copy it as messaging-node1. Start each instance as:
+<br><br>
+./run -c messaging-node0 -Djboss.service.binding.set=ports-01
+<br><br>
+<br>
+and in another window
+<br><br>
+./run.sh -c messaging-node1 -Djboss.service.binding.set=ports-02 -Djboss.messaging.ServerPeerID=1
+<br><br>
 <h2>Running the example</h2>
 <span style="font-family: monospace;"></span><span
  style="font-family: monospace;"></span><br>

Modified: branches/Branch_JBMESSAGING_1416/docs/examples/queue-failover/build.xml
===================================================================
--- branches/Branch_JBMESSAGING_1416/docs/examples/queue-failover/build.xml	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/docs/examples/queue-failover/build.xml	2009-02-02 10:42:54 UTC (rev 5773)
@@ -12,37 +12,37 @@
 
    <property environment="ENV"/>
 
-   <!-- These properties may be overriden by calling ants when this example is used in a smoke test -->
-   <property file="../examples.properties"/>
-   <property name="messaging.client.jar.path" value="../../"/>
-   <property name="messaging.client.jar.name" value="jboss-messaging-client.jar"/>
-   <property name="jboss.home" value="${ENV.JBOSS_HOME}"/>
-   <property name="jboss.configuration0" value="messaging-node0"/>
-   <property name="example.queue.name" value="testDistributedQueue"/>
+	<!-- These properties may be overriden by calling ants when this example is used in a smoke test -->
+	<property file="../examples.properties" />
+	<property name="messaging.client.jar.path" value="../../" />
+	<property name="messaging.client.jar.name" value="jboss-messaging-client.jar" />
+	<property name="jboss.home" value="${ENV.JBOSS_HOME}" />
+	<property name="jboss.configuration" value="messaging-node0" />
+	<property name="example.queue.name" value="testDistributedQueue" />
+	
+	<path id="common.compilation.classpath">
+		<fileset file="${jboss.home}/client/jboss-j2ee.jar" />
+		<fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}" />
+	</path>
 
-   <path id="common.compilation.classpath">
-      <fileset file="${jboss.home}/client/jboss-j2ee.jar"/>
-      <fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}"/>
-   </path>
-
    <path id="example.compilation.classpath">
       <path refid="common.compilation.classpath"/>
       <pathelement path="../common/output/classes"/>
    </path>
 
-   <path id="execution.classpath">
-      <pathelement path="./etc"/>
-      <pathelement path="../common/output/classes"/>
-      <pathelement path="./output/classes"/>
-      <fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration0}/lib/jboss-remoting.jar"/>
-      <fileset file="${jboss.home}/client/jbossall-client.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration0}/lib/log4j.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration0}/lib/javassist.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration0}/deploy/jboss-aop-jdk50.deployer/jboss-aop-jdk50.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration0}/deploy/jboss-aop-jdk50.deployer/trove.jar"/>
-   </path>
-
+	<path id="execution.classpath">
+		<pathelement path="./etc" />
+		<pathelement path="../common/output/classes" />
+		<pathelement path="./output/classes" />
+		<fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/lib/jboss-remoting.jar" />
+		<fileset file="${jboss.home}/client/jbossall-client.jar" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/lib/log4j.jar" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/lib/javassist.jar" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/deploy/jboss-aop-jdk50.deployer/jboss-aop-jdk50.jar" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/deploy/jboss-aop-jdk50.deployer/trove.jar" />
+	</path>
+	
    <target name="identify">
       <echo message="###########################################################################"/>
       <echo message="#                Running the QUEUE FAILOVER example                       #"/>
@@ -81,11 +81,12 @@
       </jar>
    </target>
 
-   <target name="deploy" depends="jar">
-      <copy file="./output/lib/application-server-killer.jar"
-            todir="${jboss.home}/server/messaging-node0/deploy"/>
-      <antcall target="sleep"><param name="sleep.interval" value="5"/></antcall>
-   </target>
+	<target name="deploy" depends="jar">
+		<copy file="./output/lib/application-server-killer.jar" todir="${jboss.home}/server/${jboss.configuration}/deploy" />
+		<antcall target="sleep">
+			<param name="sleep.interval" value="5" />
+		</antcall>
+	</target>
 
 
    <target name="run" depends="deploy">
@@ -99,9 +100,9 @@
        <antcall target="undeploy"/>
    </target>
 
-   <target name="undeploy">
-      <delete file="${jboss.home}/server/messaging-node0/deploy/application-server-killer.jar" quiet="true"/>
-   </target>
+	<target name="undeploy">
+		<delete file="${jboss.home}/server/${jboss.configuration}/deploy/application-server-killer.jar" quiet="true" />
+	</target>
 
    <target name="clean" depends="undeploy">
       <delete dir="./output" quiet="true"/>

Copied: branches/Branch_JBMESSAGING_1416/docs/examples/queue-failover/build.xml.AS5 (from rev 5772, branches/Branch_1_4/docs/examples/queue-failover/build.xml.AS5)
===================================================================
--- branches/Branch_JBMESSAGING_1416/docs/examples/queue-failover/build.xml.AS5	                        (rev 0)
+++ branches/Branch_JBMESSAGING_1416/docs/examples/queue-failover/build.xml.AS5	2009-02-02 10:42:54 UTC (rev 5773)
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+   To run the example, set JBOSS_HOME and run ant (with no parameters)
+
+   $Id: build.xml 974 2006-05-22 21:35:38 -0600 (Mon, 22 May 2006) ovidiu $
+
+ -->
+
+<project name="QueueFailoverExample" default="run">
+
+	<property environment="ENV" />
+
+	<!-- These properties may be overriden by calling ants when this example is used in a smoke test -->
+	<property file="../examples.properties" />
+	<property name="jboss.home" value="${ENV.JBOSS_HOME}" />
+	<property name="messaging.client.jar.name" value="${jboss.home}/client/jboss-messaging-client.jar" />
+	<property name="jboss.configuration" value="messaging-node0" />
+	<property name="example.queue.name" value="testDistributedQueue" />
+
+	<path id="common.compilation.classpath">
+		<fileset file="${jboss.home}/client/jboss-javaee.jar" />
+		<fileset file="${messaging.client.jar.name}" />
+	</path>
+
+	<path id="example.compilation.classpath">
+		<path refid="common.compilation.classpath" />
+		<pathelement path="../common/output/classes" />
+	</path>
+
+	<path id="execution.classpath">
+		<pathelement path="./etc" />
+		<pathelement path="../common/output/classes" />
+		<pathelement path="./output/classes" />
+		<fileset dir="${jboss.home}/client" includes="*.jar" />
+	</path>
+
+	<target name="identify">
+		<echo message="###########################################################################" />
+		<echo message="#                Running the QUEUE FAILOVER example                       #" />
+		<echo message="###########################################################################" />
+		<echo message="The queue:      ${example.queue.name}" />
+		<echo message="The client jar: ${messaging.client.jar.name}" />
+	</target>
+
+	<target name="sanity-check" depends="identify">
+		<available property="client.jar.present" file="${messaging.client.jar.name}" />
+		<fail message="Could not find client jar ${messaging.client.jar.name}" unless="client.jar.present" />
+	</target>
+
+	<target name="init" depends="sanity-check">
+		<mkdir dir="./output/lib" />
+		<mkdir dir="./output/classes" />
+		<mkdir dir="../common/output/classes" />
+	</target>
+
+	<target name="compile" depends="init">
+		<javac destdir="../common/output/classes" debug="on" debuglevel="lines,vars,source">
+			<src path="../common/src" />
+			<classpath refid="common.compilation.classpath" />
+		</javac>
+		<javac destdir="./output/classes" debug="on" debuglevel="lines,vars,source">
+			<src path="./src" />
+			<classpath refid="example.compilation.classpath" />
+		</javac>
+	</target>
+
+	<target name="jar" depends="compile">
+		<jar destfile="./output/lib/application-server-killer.jar">
+			<fileset dir="../common/etc" includes="META-INF/**" />
+			<fileset dir="../common/output/classes" includes="org/jboss/example/jms/common/bean/*.class" />
+		</jar>
+	</target>
+
+	<target name="deploy" depends="jar">
+		<copy file="./output/lib/application-server-killer.jar" todir="${jboss.home}/server/${jboss.configuration}/deploy" />
+		<antcall target="sleep">
+			<param name="sleep.interval" value="5" />
+		</antcall>
+	</target>
+
+
+	<target name="run" depends="deploy">
+		<java classname="org.jboss.example.jms.failover.QueueFailoverExample" classpathref="execution.classpath" fork="yes" failonerror="true">
+			<sysproperty key="example.queue.name" value="${example.queue.name}" />
+			<!--
+         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=y,suspend=y,address=example"/>
+          -->
+		</java>
+		<antcall target="undeploy" />
+	</target>
+
+	<target name="undeploy">
+		<delete file="${jboss.home}/server/${jboss.configuration}/deploy/application-server-killer.jar" quiet="true" />
+	</target>
+
+	<target name="clean" depends="undeploy">
+		<delete dir="./output" quiet="true" />
+		<delete dir="../common/output" quiet="true" />
+	</target>
+
+	<target name="sleep">
+		<echo message="Sleeping for ${sleep.interval} seconds ..." />
+		<sleep seconds="${sleep.interval}" />
+	</target>
+
+</project>
+

Modified: branches/Branch_JBMESSAGING_1416/docs/examples/secure-socket/build.xml
===================================================================
--- branches/Branch_JBMESSAGING_1416/docs/examples/secure-socket/build.xml	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/docs/examples/secure-socket/build.xml	2009-02-02 10:42:54 UTC (rev 5773)
@@ -21,29 +21,31 @@
    <property name="jboss.configuration" value="messaging"/>
    <property name="example.queue.name" value="testQueue"/>
 
-   <path id="common.compilation.classpath">
-      <fileset file="${jboss.home}/client/jboss-j2ee.jar"/>
-      <fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}"/>
-   </path>
+	<property name="messaging-deploy" value="jboss-messaging.sar"/>
+	
+	<path id="common.compilation.classpath">
+		<fileset file="${jboss.home}/client/jboss-j2ee.jar" />
+		<fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}" />
+	</path>
 
    <path id="example.compilation.classpath">
       <path refid="common.compilation.classpath"/>
       <pathelement path="../common/output/classes"/>
    </path>
 
-   <path id="execution.classpath">
-      <pathelement path="./etc"/>
-      <pathelement path="../common/output/classes"/>
-      <pathelement path="./output/classes"/>
-      <fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/lib/jboss-remoting.jar"/>
-      <fileset file="${jboss.home}/client/jbossall-client.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/lib/log4j.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/lib/javassist.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/deploy/jboss-aop-jdk50.deployer/jboss-aop-jdk50.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/deploy/jboss-aop-jdk50.deployer/trove.jar"/>
-   </path>
-
+	<path id="execution.classpath">
+		<pathelement path="./etc" />
+		<pathelement path="../common/output/classes" />
+		<pathelement path="./output/classes" />
+		<fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/lib/jboss-remoting.jar" />
+		<fileset file="${jboss.home}/client/jbossall-client.jar" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/lib/log4j.jar" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/lib/javassist.jar" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/deploy/jboss-aop-jdk50.deployer/jboss-aop-jdk50.jar" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/deploy/jboss-aop-jdk50.deployer/trove.jar" />
+	</path>
+	
    <target name="identify">
       <echo message="############################################################################"/>
       <echo message="#                   Running the SECURE SOCKET example                      #"/>
@@ -52,20 +54,11 @@
       <echo message="The client jar: ${messaging.client.jar.path}/${messaging.client.jar.name}"/>
    </target>
 
-   <target name="sanity-check" depends="identify">
-      <available property="client.jar.present" file="${messaging.client.jar.path}/${messaging.client.jar.name}"/>
-      <fail message="Could not find client jar ${messaging.client.jar.path}/${messaging.client.jar.name}"
-            unless="client.jar.present"/>
-      <available property="messaging.deployment.dir.present" file="${jboss.home}/server/${jboss.configuration}/deploy/jboss-messaging.sar"/>
-      <fail message="Could not find the Messaging deployment directory ${jboss.home}/server/${jboss.configuration}/deploy/jboss-messaging.sar"
-            unless="messaging.deployment.dir.present"/>
-   </target>
+	<target name="init">
+		<mkdir dir="./output/classes" />
+		<mkdir dir="../common/output/classes" />
+	</target>
 
-   <target name="init" depends="sanity-check">
-      <mkdir dir="./output/classes"/>
-      <mkdir dir="../common/output/classes"/>
-   </target>
-
    <target name="compile" depends="init">
       <javac destdir="../common/output/classes" debug="on" debuglevel="lines,vars,source">
          <src path="../common/src"/>
@@ -77,15 +70,14 @@
       </javac>
    </target>
 
-   <target name="deploy">
-      <copy file="./etc/messaging.keystore"
-            todir="${jboss.home}/server/${jboss.configuration}/deploy/jboss-messaging.sar"/>
-      <copy file="${remoting.path}/remoting-sslbisocket-service.xml"
-            todir="${jboss.home}/server/${jboss.configuration}/deploy"/>
-      <copy file="./etc/messaging-secure-socket-service.xml"
-            todir="${jboss.home}/server/${jboss.configuration}/deploy"/>
-      <antcall target="sleep"><param name="sleep.interval" value="5"/></antcall>
-   </target>
+	<target name="deploy">
+		<copy file="./etc/messaging.keystore" todir="${jboss.home}/server/${jboss.configuration}/deploy/${messaging-deploy}" />
+		<copy file="${remoting.path}/remoting-sslbisocket-service.xml" todir="${jboss.home}/server/${jboss.configuration}/deploy" />
+		<copy file="./etc/messaging-secure-socket-service.xml" todir="${jboss.home}/server/${jboss.configuration}/deploy" />
+		<antcall target="sleep">
+			<param name="sleep.interval" value="5" />
+		</antcall>
+	</target>
 
    <target name="run" depends="compile, deploy">
       <!-- QueueExample expects to find the name of the queue to connect to as value of the
@@ -103,11 +95,11 @@
       <antcall target="undeploy"/>
    </target>
 
-   <target name="undeploy">
-      <delete file="${jboss.home}/server/${jboss.configuration}/deploy/remoting-sslbisocket-service.xml" quiet="true"/>
-      <delete file="${jboss.home}/server/${jboss.configuration}/deploy/messaging-secure-socket-service.xml" quiet="true"/>
-      <delete file="${jboss.home}/server/${jboss.configuration}/deploy/jboss-messaging.sar/messaging.keystore" quiet="true"/>
-   </target>
+	<target name="undeploy">
+		<delete file="${jboss.home}/server/${jboss.configuration}/deploy/remoting-sslbisocket-service.xml" quiet="true" />
+		<delete file="${jboss.home}/server/${jboss.configuration}/deploy/messaging-secure-socket-service.xml" quiet="true" />
+		<delete file="${jboss.home}/server/${jboss.configuration}/deploy/${messaging-deploy}/messaging.keystore" quiet="true" />
+	</target>
 
    <target name="clean" depends="undeploy">
       <delete dir="./output" quiet="true"/>

Copied: branches/Branch_JBMESSAGING_1416/docs/examples/secure-socket/build.xml.AS5 (from rev 5772, branches/Branch_1_4/docs/examples/secure-socket/build.xml.AS5)
===================================================================
--- branches/Branch_JBMESSAGING_1416/docs/examples/secure-socket/build.xml.AS5	                        (rev 0)
+++ branches/Branch_JBMESSAGING_1416/docs/examples/secure-socket/build.xml.AS5	2009-02-02 10:42:54 UTC (rev 5773)
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+   To run the example, set JBOSS_HOME and run ant (with no parameters)
+
+   $Id: build.xml 5419 2008-11-24 05:21:45Z gaohoward $
+
+ -->
+
+<project name="SecureSocketExample" default="run">
+
+	<property environment="ENV" />
+
+	<!-- These properties may be overriden by calling ants when this example is used in a smoke test -->
+	<property file="../examples.properties" />
+	<property name="remoting.path" value="../config" />
+	<property name="jboss.home" value="${ENV.JBOSS_HOME}" />
+	<property name="messaging.client.jar.name" value="${jboss.home}/client/jboss-messaging-client.jar" />
+	<property name="jboss.configuration" value="messaging" />
+	<property name="example.queue.name" value="testQueue" />
+	
+	<property name="messaging-deploy" value="messaging"/>
+
+	<path id="common.compilation.classpath">
+		<fileset file="${jboss.home}/client/jboss-javaee.jar" />
+		<fileset file="${messaging.client.jar.name}" />
+	</path>
+
+	<path id="example.compilation.classpath">
+		<path refid="common.compilation.classpath" />
+		<pathelement path="../common/output/classes" />
+	</path>
+
+	<path id="execution.classpath">
+		<pathelement path="./etc" />
+		<pathelement path="../common/output/classes" />
+		<pathelement path="./output/classes" />
+		<fileset dir="${jboss.home}/client" includes="*.jar" />
+	</path>
+
+	<target name="identify">
+		<echo message="############################################################################" />
+		<echo message="#                   Running the SECURE SOCKET example                      #" />
+		<echo message="############################################################################" />
+		<echo message="The queue:      ${example.queue.name}" />
+		<echo message="The client jar: ${messaging.client.jar.name}" />
+	</target>
+
+	<target name="init">
+		<mkdir dir="./output/classes" />
+		<mkdir dir="../common/output/classes" />
+	</target>
+
+	<target name="compile" depends="init">
+		<javac destdir="../common/output/classes" debug="on" debuglevel="lines,vars,source">
+			<src path="../common/src" />
+			<classpath refid="common.compilation.classpath" />
+		</javac>
+		<javac destdir="./output/classes" debug="on" debuglevel="lines,vars,source">
+			<src path="./src" />
+			<classpath refid="example.compilation.classpath" />
+		</javac>
+	</target>
+
+	<target name="deploy">
+		<copy file="./etc/messaging.keystore" todir="${jboss.home}/server/${jboss.configuration}/deploy/${messaging-deploy}" />
+		<copy file="${remoting.path}/remoting-sslbisocket-service.xml" todir="${jboss.home}/server/${jboss.configuration}/deploy" />
+		<copy file="./etc/messaging-secure-socket-service.xml" todir="${jboss.home}/server/${jboss.configuration}/deploy" />
+		<antcall target="sleep">
+			<param name="sleep.interval" value="5" />
+		</antcall>
+	</target>
+
+	<target name="run" depends="compile, deploy">
+		<!-- QueueExample expects to find the name of the queue to connect to as value of the
+           'example.queue.name' property, which *may* be defined by calling ants when this example
+            is used in a smoke test -->
+		<java classname="org.jboss.example.jms.securesocket.SecureSocketExample" classpathref="execution.classpath" fork="yes" failonerror="true">
+			<sysproperty key="javax.net.ssl.trustStorePassword" value="secureexample" />
+			<sysproperty key="javax.net.ssl.trustStore" value="./etc/messaging.truststore" />
+			<sysproperty key="example.queue.name" value="${example.queue.name}" />
+			<!--
+         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=y,suspend=y,address=example"/>
+         -->
+		</java>
+		<antcall target="undeploy" />
+	</target>
+
+	<target name="undeploy">
+		<delete file="${jboss.home}/server/${jboss.configuration}/deploy/remoting-sslbisocket-service.xml" quiet="true" />
+		<delete file="${jboss.home}/server/${jboss.configuration}/deploy/messaging-secure-socket-service.xml" quiet="true" />
+		<delete file="${jboss.home}/server/${jboss.configuration}/deploy/${messaging-deploy}/messaging.keystore" quiet="true" />
+	</target>
+
+	<target name="clean" depends="undeploy">
+		<delete dir="./output" quiet="true" />
+		<delete dir="../common/output" quiet="true" />
+	</target>
+
+	<target name="sleep">
+		<echo message="Sleeping for ${sleep.interval} seconds ..." />
+		<sleep seconds="${sleep.interval}" />
+	</target>
+
+</project>
+

Copied: branches/Branch_JBMESSAGING_1416/docs/examples/servlet (from rev 5772, branches/Branch_1_4/docs/examples/servlet)

Deleted: branches/Branch_JBMESSAGING_1416/docs/examples/servlet/README.html
===================================================================
--- branches/Branch_1_4/docs/examples/servlet/README.html	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/docs/examples/servlet/README.html	2009-02-02 10:42:54 UTC (rev 5773)
@@ -1,169 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-  <meta content="text/html; charset=ISO-8859-1"
-        http-equiv="content-type">
-  <title>JBoss Messaging Example - Servlet Transport</title>
-</head>
-<body>
-<br>
-<h1>JBoss Messaging Servlet Transport Example</h1>
-$Revision: 5394 $
-<h2>Overview</h2>
-<p>
-This example shows how to configure a ConnectionFactory to send
-messages using the Servlet protocol. The example will use
-such a ConnectionFactory to create two JMS connections: the first one
-to send a message to the queue and the second one to read the message
-from the queue. In both cases, the message will be sent over
-an Servlet connection. The example is considered successful
-if the client receives without any error the message that was
-previously sent to the queue.</p>
-<p>
-This example needs to have access to a running JBoss Messaging
-instance.
-The JBoss Messaging instance must be installed and started according to
-the
-"Installation" paragraph from the release documentation. However, the
-example will automatically deploy its own queue, unless a queue with
-the same name is already deployed.
-</p>
-<br>
-This example also needs to have access to <span
- style="font-family: monospace;">jboss-messaging-client.jar</span>
-archive that comes with the release bundle. If you run this example
-from an unzipped installation bundle, the example run script is
-correctly configured to find the client jar. Otherwise, you must modify
-example's <span style="font-family: monospace;">build.xml</span>
-accordingly.<br>
-<br>
-<br>
-<h2>Running the example</h2>
-1. Set up the JBOSS_HOME environment variable to point to the JBoss
-instance you deployed JBoss Messaging into. For example, if you
-deployed JBoss Messaging in <span style="font-family: monospace;">C:\jboss-4.2.0.GA\server\messaging\deploy,</span>
-then your JBOSS_HOME value should be <span
- style="font-family: monospace;">C:\jboss-4.2.0.GA</span><br>
-<br>
-2. Go to the example's home directory<br>
-<br>
-<div style="margin-left: 40px;"><br>
-</div>
-<table
- style="width: 90%; text-align: left; font-family: monospace; margin-left: 40px; background-color: rgb(255, 255, 255);"
- border="1" cellpadding="2" cellspacing="2">
-  <tbody>
-    <tr>
-      <td style="vertical-align: top;"><br>
-&nbsp;&nbsp; <span style="font-family: monospace;">cd
-...\examples\servlet</span><br>
-      <br>
-      </td>
-    </tr>
-  </tbody>
-</table>
-<span style="font-family: monospace;"></span><br>
-3. Run the example:<br>
-<br>
-<div style="margin-left: 40px;"><br>
-</div>
-<table
- style="width: 90%; text-align: left; font-family: monospace; margin-left: 40px; background-color: rgb(255, 255, 255);"
- border="1" cellpadding="2" cellspacing="2">
-  <tbody>
-    <tr>
-      <td style="vertical-align: top;"><br>
-&nbsp;&nbsp; <span style="font-family: monospace;">ant</span><br>
-      <br>
-      </td>
-    </tr>
-  </tbody>
-</table>
-<div style="margin-left: 40px;"><br>
-</div>
-<br>
-The output of a successful run should be similar to:<br>
-<div style="margin-left: 40px;"><br>
-</div>
-<table
- style="width: 90%; text-align: left; font-family: monospace; background-color: rgb(204, 204, 204); margin-left: 40px;"
- border="1" cellpadding="2" cellspacing="2">
-  <tbody>
-    <tr>
-      <td style="vertical-align: top;">
-<pre>
-$ ant
-Buildfile: build.xml
-
-identify:
-     [echo] ############################################################################
-     [echo] #                     Running the Servlet example                          #
-     [echo] ############################################################################
-     [echo] The queue:      testQueue
-     [echo] The client jar: ../../../output/lib/jboss-messaging-client.jar
-
-sanity-check:
-
-init:
-    [mkdir] Created dir: C:\java\messaging\docs\examples\http\output\classes
-    [mkdir] Created dir: C:\java\messaging\docs\examples\common\output\classes
-
-compile:
-    [javac] Compiling 5 source files to C:\java\messaging\docs\examples\common\output\classes
-    [javac] Compiling 1 source file to C:\java\messaging\docs\examples\http\output\classes
-
-deploy:
-     [copy] Copying 2 files to C:\jboss-4.2.0.GA\server\messaging\deploy
-     [copy] Copying 1 file to C:\jboss-4.2.0.GA\server\messaging\deploy
-
-sleep:
-     [echo] Sleeping for 10 seconds ...
-
-run:
-     [java] Queue /queue/testQueue exists
-     [java] The message was successfully sent to the testQueue queue
-     [java] Received message: Hello!
-     [java] The example connected to JBoss Messaging version 1.4.0.GA (1.4)
-     [java] 
-     [java] #####################
-     [java] ###    SUCCESS!   ###
-     [java] #####################
-
-undeploy:
-   [delete] Deleting: C:\jboss-4.2.0.GA\server\messaging\deploy\messaging-servlet-service.xml
-   [delete] Deleting: C:\jboss-4.2.0.GA\server\messaging\deploy\remoting-servlet-service.xml
-   [delete] Deleting directory C:\jboss-4.2.0.GA\server\messaging\deploy\servlet-invoker.war
-
-BUILD SUCCESSFUL
-Total time: 14 seconds</pre>
-      </td>
-    </tr>
-  </tbody>
-</table>
-<div style="margin-left: 40px;"><br>
-</div>
-<br>
-<h2>Troubleshooting</h2>
-<h3>1. I get <span style="font-family: monospace;">"javax.jms.JMSSecurityException:
-User null is NOT authenticated" <br>
-</span></h3>
-You probably didn't install JBoss Messaging correctly. A fresh JBoss
-Messaging installation requires changes in the security configuration
-of a <span style="font-family: monospace;">default </span>JBoss
-instance, specifically a properly configured "<small><span
- style="font-family: courier new,courier,monospace;">messaging</span></small>"
-security domain.&nbsp; Follow the instructions from the "Installation"
-paragraph of the release documentation. <br>
-<br>
-<br>
-<br>
-<br>
-<hr style="width: 100%; height: 2px;"><br>
-<br>
-<br>
-<br>
-<br>
-<br>
-<br>
-</body>
-</html>

Copied: branches/Branch_JBMESSAGING_1416/docs/examples/servlet/README.html (from rev 5772, branches/Branch_1_4/docs/examples/servlet/README.html)
===================================================================
--- branches/Branch_JBMESSAGING_1416/docs/examples/servlet/README.html	                        (rev 0)
+++ branches/Branch_JBMESSAGING_1416/docs/examples/servlet/README.html	2009-02-02 10:42:54 UTC (rev 5773)
@@ -0,0 +1,169 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+  <meta content="text/html; charset=ISO-8859-1"
+        http-equiv="content-type">
+  <title>JBoss Messaging Example - Servlet Transport</title>
+</head>
+<body>
+<br>
+<h1>JBoss Messaging Servlet Transport Example</h1>
+$Revision: 5394 $
+<h2>Overview</h2>
+<p>
+This example shows how to configure a ConnectionFactory to send
+messages using the Servlet protocol. The example will use
+such a ConnectionFactory to create two JMS connections: the first one
+to send a message to the queue and the second one to read the message
+from the queue. In both cases, the message will be sent over
+an Servlet connection. The example is considered successful
+if the client receives without any error the message that was
+previously sent to the queue.</p>
+<p>
+This example needs to have access to a running JBoss Messaging
+instance.
+The JBoss Messaging instance must be installed and started according to
+the
+"Installation" paragraph from the release documentation. However, the
+example will automatically deploy its own queue, unless a queue with
+the same name is already deployed.
+</p>
+<br>
+This example also needs to have access to <span
+ style="font-family: monospace;">jboss-messaging-client.jar</span>
+archive that comes with the release bundle. If you run this example
+from an unzipped installation bundle, the example run script is
+correctly configured to find the client jar. Otherwise, you must modify
+example's <span style="font-family: monospace;">build.xml</span>
+accordingly.<br>
+<br>
+<br>
+<h2>Running the example</h2>
+1. Set up the JBOSS_HOME environment variable to point to the JBoss
+instance you deployed JBoss Messaging into. For example, if you
+deployed JBoss Messaging in <span style="font-family: monospace;">C:\jboss-4.2.0.GA\server\messaging\deploy,</span>
+then your JBOSS_HOME value should be <span
+ style="font-family: monospace;">C:\jboss-4.2.0.GA</span><br>
+<br>
+2. Go to the example's home directory<br>
+<br>
+<div style="margin-left: 40px;"><br>
+</div>
+<table
+ style="width: 90%; text-align: left; font-family: monospace; margin-left: 40px; background-color: rgb(255, 255, 255);"
+ border="1" cellpadding="2" cellspacing="2">
+  <tbody>
+    <tr>
+      <td style="vertical-align: top;"><br>
+&nbsp;&nbsp; <span style="font-family: monospace;">cd
+...\examples\servlet</span><br>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<span style="font-family: monospace;"></span><br>
+3. Run the example:<br>
+<br>
+<div style="margin-left: 40px;"><br>
+</div>
+<table
+ style="width: 90%; text-align: left; font-family: monospace; margin-left: 40px; background-color: rgb(255, 255, 255);"
+ border="1" cellpadding="2" cellspacing="2">
+  <tbody>
+    <tr>
+      <td style="vertical-align: top;"><br>
+&nbsp;&nbsp; <span style="font-family: monospace;">ant</span><br>
+      <br>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<div style="margin-left: 40px;"><br>
+</div>
+<br>
+The output of a successful run should be similar to:<br>
+<div style="margin-left: 40px;"><br>
+</div>
+<table
+ style="width: 90%; text-align: left; font-family: monospace; background-color: rgb(204, 204, 204); margin-left: 40px;"
+ border="1" cellpadding="2" cellspacing="2">
+  <tbody>
+    <tr>
+      <td style="vertical-align: top;">
+<pre>
+$ ant
+Buildfile: build.xml
+
+identify:
+     [echo] ############################################################################
+     [echo] #                     Running the Servlet example                          #
+     [echo] ############################################################################
+     [echo] The queue:      testQueue
+     [echo] The client jar: ../../../output/lib/jboss-messaging-client.jar
+
+sanity-check:
+
+init:
+    [mkdir] Created dir: C:\java\messaging\docs\examples\http\output\classes
+    [mkdir] Created dir: C:\java\messaging\docs\examples\common\output\classes
+
+compile:
+    [javac] Compiling 5 source files to C:\java\messaging\docs\examples\common\output\classes
+    [javac] Compiling 1 source file to C:\java\messaging\docs\examples\http\output\classes
+
+deploy:
+     [copy] Copying 2 files to C:\jboss-4.2.0.GA\server\messaging\deploy
+     [copy] Copying 1 file to C:\jboss-4.2.0.GA\server\messaging\deploy
+
+sleep:
+     [echo] Sleeping for 10 seconds ...
+
+run:
+     [java] Queue /queue/testQueue exists
+     [java] The message was successfully sent to the testQueue queue
+     [java] Received message: Hello!
+     [java] The example connected to JBoss Messaging version 1.4.0.GA (1.4)
+     [java] 
+     [java] #####################
+     [java] ###    SUCCESS!   ###
+     [java] #####################
+
+undeploy:
+   [delete] Deleting: C:\jboss-4.2.0.GA\server\messaging\deploy\messaging-servlet-service.xml
+   [delete] Deleting: C:\jboss-4.2.0.GA\server\messaging\deploy\remoting-servlet-service.xml
+   [delete] Deleting directory C:\jboss-4.2.0.GA\server\messaging\deploy\servlet-invoker.war
+
+BUILD SUCCESSFUL
+Total time: 14 seconds</pre>
+      </td>
+    </tr>
+  </tbody>
+</table>
+<div style="margin-left: 40px;"><br>
+</div>
+<br>
+<h2>Troubleshooting</h2>
+<h3>1. I get <span style="font-family: monospace;">"javax.jms.JMSSecurityException:
+User null is NOT authenticated" <br>
+</span></h3>
+You probably didn't install JBoss Messaging correctly. A fresh JBoss
+Messaging installation requires changes in the security configuration
+of a <span style="font-family: monospace;">default </span>JBoss
+instance, specifically a properly configured "<small><span
+ style="font-family: courier new,courier,monospace;">messaging</span></small>"
+security domain.&nbsp; Follow the instructions from the "Installation"
+paragraph of the release documentation. <br>
+<br>
+<br>
+<br>
+<br>
+<hr style="width: 100%; height: 2px;"><br>
+<br>
+<br>
+<br>
+<br>
+<br>
+<br>
+</body>
+</html>

Deleted: branches/Branch_JBMESSAGING_1416/docs/examples/servlet/build.xml
===================================================================
--- branches/Branch_1_4/docs/examples/servlet/build.xml	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/docs/examples/servlet/build.xml	2009-02-02 10:42:54 UTC (rev 5773)
@@ -1,120 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-
-   To run the example, set JBOSS_HOME and run ant (with no parameters)
-
-   $Id: build.xml 3140 2007-09-26 08:44:19Z ataylor $
-
- -->
-
-<project name="ServletExample" default="run">
-
-   <property environment="ENV"/>
-
-   <!-- These properties may be overriden by calling ants when this example is used in a smoke test -->
-   <property file="../examples.properties"/>
-   <property name="remoting.path" value="../config"/>
-   <property name="messaging.client.jar.path" value="../../"/>
-   <property name="messaging.client.jar.name" value="jboss-messaging-client.jar"/>
-   <property name="jboss.home" value="${ENV.JBOSS_HOME}"/>
-   <property name="jboss.configuration" value="messaging"/>
-   <property name="example.queue.name" value="testQueue"/>
-
-   <path id="common.compilation.classpath">
-      <fileset file="${jboss.home}/client/jboss-j2ee.jar"/>
-      <fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}"/>
-   </path>
-
-   <path id="example.compilation.classpath">
-      <path refid="common.compilation.classpath"/>
-      <pathelement path="../common/output/classes"/>
-   </path>
-
-   <path id="execution.classpath">
-      <pathelement path="./etc"/>
-      <pathelement path="../common/output/classes"/>
-      <pathelement path="./output/classes"/>
-      <fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/lib/jboss-remoting.jar"/>
-      <fileset file="${jboss.home}/client/jbossall-client.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/lib/log4j.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/lib/javassist.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/deploy/jboss-aop-jdk50.deployer/jboss-aop-jdk50.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/deploy/jboss-aop-jdk50.deployer/trove.jar"/>
-   </path>
-
-   <target name="identify">
-      <echo message="############################################################################"/>
-      <echo message="#                         Running the Servlet example                       #"/>
-      <echo message="############################################################################"/>
-      <echo message="The queue:      ${example.queue.name}"/>
-      <echo message="The client jar: ${messaging.client.jar.path}/${messaging.client.jar.name}"/>
-   </target>
-
-   <target name="sanity-check" depends="identify">
-      <available property="client.jar.present" file="${messaging.client.jar.path}/${messaging.client.jar.name}"/>
-      <fail message="Could not find client jar ${messaging.client.jar.path}/${messaging.client.jar.name}"
-            unless="client.jar.present"/>
-   </target>
-
-   <target name="init" depends="sanity-check">
-      <mkdir dir="./output/classes"/>
-      <mkdir dir="../common/output/classes"/>
-   </target>
-
-   <target name="compile" depends="init">
-      <javac destdir="../common/output/classes" debug="on" debuglevel="lines,vars,source">
-         <src path="../common/src"/>
-         <classpath refid="common.compilation.classpath"/>
-      </javac>
-      <javac destdir="./output/classes" debug="on" debuglevel="lines,vars,source">
-         <src path="./src"/>
-         <classpath refid="example.compilation.classpath"/>
-      </javac>
-   </target>
-
-   <target name="deploy">
-      <copy todir="${jboss.home}/server/${jboss.configuration}/deploy">
-         <fileset dir="${remoting.path}">
-            <include name="remoting-servlet-service.xml"/>
-            <include name="servlet-invoker.war/**/*"/>
-         </fileset>
-      </copy>
-      <copy file="./etc/messaging-servlet-service.xml"
-            todir="${jboss.home}/server/${jboss.configuration}/deploy"/>
-      <antcall target="sleep"><param name="sleep.interval" value="10"/></antcall>
-   </target>
-
-   <target name="run" depends="compile, deploy">
-      <!-- QueueExample expects to find the name of the queue to connect to as value of the
-           'example.queue.name' property, which *may* be defined by calling ants when this example
-            is used in a smoke test -->
-      <java classname="org.jboss.example.jms.servlet.ServletExample"
-            classpathref="execution.classpath" fork="yes" failonerror="true">
-         <sysproperty key="example.queue.name" value="${example.queue.name}"/>
-         <!--
-         <jvmarg line="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8787"/>
-         -->
-      </java>
-      <antcall target="undeploy"/>
-   </target>
-
-   <target name="undeploy">
-      <delete file="${jboss.home}/server/${jboss.configuration}/deploy/messaging-servlet-service.xml" quiet="true"/>
-      <delete file="${jboss.home}/server/${jboss.configuration}/deploy/remoting-servlet-service.xml" quiet="true"/>
-      <delete dir="${jboss.home}/server/${jboss.configuration}/deploy/servlet-invoker.war"/>
-   </target>
-
-   <target name="clean" depends="undeploy">
-      <delete dir="./output" quiet="true"/>
-      <delete dir="../common/output" quiet="true"/>
-   </target>
-
-   <target name="sleep">
-      <echo message="Sleeping for ${sleep.interval} seconds ..."/>
-      <sleep seconds="${sleep.interval}"/>
-   </target>
-
-</project>
-

Copied: branches/Branch_JBMESSAGING_1416/docs/examples/servlet/build.xml (from rev 5772, branches/Branch_1_4/docs/examples/servlet/build.xml)
===================================================================
--- branches/Branch_JBMESSAGING_1416/docs/examples/servlet/build.xml	                        (rev 0)
+++ branches/Branch_JBMESSAGING_1416/docs/examples/servlet/build.xml	2009-02-02 10:42:54 UTC (rev 5773)
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+   To run the example, set JBOSS_HOME and run ant (with no parameters)
+
+   $Id: build.xml 3140 2007-09-26 08:44:19Z ataylor $
+
+ -->
+
+<project name="ServletExample" default="run">
+
+   <property environment="ENV"/>
+
+   <!-- These properties may be overriden by calling ants when this example is used in a smoke test -->
+   <property file="../examples.properties"/>
+   <property name="remoting.path" value="../config"/>
+   <property name="messaging.client.jar.path" value="../../"/>
+   <property name="messaging.client.jar.name" value="jboss-messaging-client.jar"/>
+   <property name="jboss.home" value="${ENV.JBOSS_HOME}"/>
+   <property name="jboss.configuration" value="messaging"/>
+   <property name="example.queue.name" value="testQueue"/>
+
+   <path id="common.compilation.classpath">
+      <fileset file="${jboss.home}/client/jboss-j2ee.jar"/>
+      <fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}"/>
+   </path>
+
+   <path id="example.compilation.classpath">
+      <path refid="common.compilation.classpath"/>
+      <pathelement path="../common/output/classes"/>
+   </path>
+
+   <path id="execution.classpath">
+      <pathelement path="./etc"/>
+      <pathelement path="../common/output/classes"/>
+      <pathelement path="./output/classes"/>
+      <fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}"/>
+      <fileset file="${jboss.home}/server/${jboss.configuration}/lib/jboss-remoting.jar"/>
+      <fileset file="${jboss.home}/client/jbossall-client.jar"/>
+      <fileset file="${jboss.home}/server/${jboss.configuration}/lib/log4j.jar"/>
+      <fileset file="${jboss.home}/server/${jboss.configuration}/lib/javassist.jar"/>
+      <fileset file="${jboss.home}/server/${jboss.configuration}/deploy/jboss-aop-jdk50.deployer/jboss-aop-jdk50.jar"/>
+      <fileset file="${jboss.home}/server/${jboss.configuration}/deploy/jboss-aop-jdk50.deployer/trove.jar"/>
+   </path>
+
+   <target name="identify">
+      <echo message="############################################################################"/>
+      <echo message="#                         Running the Servlet example                       #"/>
+      <echo message="############################################################################"/>
+      <echo message="The queue:      ${example.queue.name}"/>
+      <echo message="The client jar: ${messaging.client.jar.path}/${messaging.client.jar.name}"/>
+   </target>
+
+   <target name="sanity-check" depends="identify">
+      <available property="client.jar.present" file="${messaging.client.jar.path}/${messaging.client.jar.name}"/>
+      <fail message="Could not find client jar ${messaging.client.jar.path}/${messaging.client.jar.name}"
+            unless="client.jar.present"/>
+   </target>
+
+   <target name="init" depends="sanity-check">
+      <mkdir dir="./output/classes"/>
+      <mkdir dir="../common/output/classes"/>
+   </target>
+
+   <target name="compile" depends="init">
+      <javac destdir="../common/output/classes" debug="on" debuglevel="lines,vars,source">
+         <src path="../common/src"/>
+         <classpath refid="common.compilation.classpath"/>
+      </javac>
+      <javac destdir="./output/classes" debug="on" debuglevel="lines,vars,source">
+         <src path="./src"/>
+         <classpath refid="example.compilation.classpath"/>
+      </javac>
+   </target>
+
+   <target name="deploy">
+      <copy todir="${jboss.home}/server/${jboss.configuration}/deploy">
+         <fileset dir="${remoting.path}">
+            <include name="remoting-servlet-service.xml"/>
+            <include name="servlet-invoker.war/**/*"/>
+         </fileset>
+      </copy>
+      <copy file="./etc/messaging-servlet-service.xml"
+            todir="${jboss.home}/server/${jboss.configuration}/deploy"/>
+      <antcall target="sleep"><param name="sleep.interval" value="10"/></antcall>
+   </target>
+
+   <target name="run" depends="compile, deploy">
+      <!-- QueueExample expects to find the name of the queue to connect to as value of the
+           'example.queue.name' property, which *may* be defined by calling ants when this example
+            is used in a smoke test -->
+      <java classname="org.jboss.example.jms.servlet.ServletExample"
+            classpathref="execution.classpath" fork="yes" failonerror="true">
+         <sysproperty key="example.queue.name" value="${example.queue.name}"/>
+         <!--
+         <jvmarg line="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8787"/>
+         -->
+      </java>
+      <antcall target="undeploy"/>
+   </target>
+
+   <target name="undeploy">
+      <delete file="${jboss.home}/server/${jboss.configuration}/deploy/messaging-servlet-service.xml" quiet="true"/>
+      <delete file="${jboss.home}/server/${jboss.configuration}/deploy/remoting-servlet-service.xml" quiet="true"/>
+      <delete dir="${jboss.home}/server/${jboss.configuration}/deploy/servlet-invoker.war"/>
+   </target>
+
+   <target name="clean" depends="undeploy">
+      <delete dir="./output" quiet="true"/>
+      <delete dir="../common/output" quiet="true"/>
+   </target>
+
+   <target name="sleep">
+      <echo message="Sleeping for ${sleep.interval} seconds ..."/>
+      <sleep seconds="${sleep.interval}"/>
+   </target>
+
+</project>
+

Copied: branches/Branch_JBMESSAGING_1416/docs/examples/servlet/etc (from rev 5772, branches/Branch_1_4/docs/examples/servlet/etc)

Deleted: branches/Branch_JBMESSAGING_1416/docs/examples/servlet/etc/jndi.properties
===================================================================
--- branches/Branch_1_4/docs/examples/servlet/etc/jndi.properties	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/docs/examples/servlet/etc/jndi.properties	2009-02-02 10:42:54 UTC (rev 5773)
@@ -1,4 +0,0 @@
-### JBossNS properties
-java.naming.factory.initial=org.jboss.naming.HttpNamingContextFactory
-java.naming.provider.url=http://localhost:8080/invoker/JNDIFactory
-java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces

Copied: branches/Branch_JBMESSAGING_1416/docs/examples/servlet/etc/jndi.properties (from rev 5772, branches/Branch_1_4/docs/examples/servlet/etc/jndi.properties)
===================================================================
--- branches/Branch_JBMESSAGING_1416/docs/examples/servlet/etc/jndi.properties	                        (rev 0)
+++ branches/Branch_JBMESSAGING_1416/docs/examples/servlet/etc/jndi.properties	2009-02-02 10:42:54 UTC (rev 5773)
@@ -0,0 +1,4 @@
+### JBossNS properties
+java.naming.factory.initial=org.jboss.naming.HttpNamingContextFactory
+java.naming.provider.url=http://localhost:8080/invoker/JNDIFactory
+java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces

Deleted: branches/Branch_JBMESSAGING_1416/docs/examples/servlet/etc/log4j.xml
===================================================================
--- branches/Branch_1_4/docs/examples/servlet/etc/log4j.xml	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/docs/examples/servlet/etc/log4j.xml	2009-02-02 10:42:54 UTC (rev 5773)
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
-
-<!-- $Id: log4j.xml 952 2006-05-17 19:26:54Z ovidiu $ -->
-
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
-
-   <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
-      <param name="Target" value="System.out"/>
-      <param name="Threshold" value="INFO"/>
-      <layout class="org.apache.log4j.PatternLayout">
-         <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p @%t [%c{1}] %m%n"/>
-      </layout>
-   </appender>
-
-   <root>
-      <appender-ref ref="CONSOLE"/>
-   </root>
-
-</log4j:configuration>

Copied: branches/Branch_JBMESSAGING_1416/docs/examples/servlet/etc/log4j.xml (from rev 5772, branches/Branch_1_4/docs/examples/servlet/etc/log4j.xml)
===================================================================
--- branches/Branch_JBMESSAGING_1416/docs/examples/servlet/etc/log4j.xml	                        (rev 0)
+++ branches/Branch_JBMESSAGING_1416/docs/examples/servlet/etc/log4j.xml	2009-02-02 10:42:54 UTC (rev 5773)
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<!-- $Id: log4j.xml 952 2006-05-17 19:26:54Z ovidiu $ -->
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
+
+   <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+      <param name="Target" value="System.out"/>
+      <param name="Threshold" value="INFO"/>
+      <layout class="org.apache.log4j.PatternLayout">
+         <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p @%t [%c{1}] %m%n"/>
+      </layout>
+   </appender>
+
+   <root>
+      <appender-ref ref="CONSOLE"/>
+   </root>
+
+</log4j:configuration>

Deleted: branches/Branch_JBMESSAGING_1416/docs/examples/servlet/etc/messaging-servlet-service.xml
===================================================================
--- branches/Branch_1_4/docs/examples/servlet/etc/messaging-servlet-service.xml	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/docs/examples/servlet/etc/messaging-servlet-service.xml	2009-02-02 10:42:54 UTC (rev 5773)
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-     Servlet Transport Example.
-
-     $Id: messaging-http-service.xml 2773 2007-06-12 13:31:30Z sergeypk $
- -->
-
-<server>
-   
-   <mbean code="org.jboss.jms.server.connectionfactory.ConnectionFactory"
-          name="jboss.messaging.destination:service=ServletConnectionFactory"
-          xmbean-dd="xmdesc/ConnectionFactory-xmbean.xml">
-      <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
-      <depends optional-attribute-name="Connector">jboss.remoting:service=Connector,transport=servlet,target=jms</depends>
-      <depends>jboss.messaging:service=PostOffice</depends>
-      <attribute name="JNDIBindings">
-         <bindings>
-            <binding>/ServletConnectionFactory</binding>
-         </bindings>
-      </attribute>
-   </mbean>
-
-</server>

Copied: branches/Branch_JBMESSAGING_1416/docs/examples/servlet/etc/messaging-servlet-service.xml (from rev 5772, branches/Branch_1_4/docs/examples/servlet/etc/messaging-servlet-service.xml)
===================================================================
--- branches/Branch_JBMESSAGING_1416/docs/examples/servlet/etc/messaging-servlet-service.xml	                        (rev 0)
+++ branches/Branch_JBMESSAGING_1416/docs/examples/servlet/etc/messaging-servlet-service.xml	2009-02-02 10:42:54 UTC (rev 5773)
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+     Servlet Transport Example.
+
+     $Id: messaging-http-service.xml 2773 2007-06-12 13:31:30Z sergeypk $
+ -->
+
+<server>
+   
+   <mbean code="org.jboss.jms.server.connectionfactory.ConnectionFactory"
+          name="jboss.messaging.destination:service=ServletConnectionFactory"
+          xmbean-dd="xmdesc/ConnectionFactory-xmbean.xml">
+      <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+      <depends optional-attribute-name="Connector">jboss.remoting:service=Connector,transport=servlet,target=jms</depends>
+      <depends>jboss.messaging:service=PostOffice</depends>
+      <attribute name="JNDIBindings">
+         <bindings>
+            <binding>/ServletConnectionFactory</binding>
+         </bindings>
+      </attribute>
+   </mbean>
+
+</server>

Copied: branches/Branch_JBMESSAGING_1416/docs/examples/servlet/src (from rev 5772, branches/Branch_1_4/docs/examples/servlet/src)

Copied: branches/Branch_JBMESSAGING_1416/docs/examples/servlet/src/org (from rev 5772, branches/Branch_1_4/docs/examples/servlet/src/org)

Copied: branches/Branch_JBMESSAGING_1416/docs/examples/servlet/src/org/jboss (from rev 5772, branches/Branch_1_4/docs/examples/servlet/src/org/jboss)

Copied: branches/Branch_JBMESSAGING_1416/docs/examples/servlet/src/org/jboss/example (from rev 5772, branches/Branch_1_4/docs/examples/servlet/src/org/jboss/example)

Copied: branches/Branch_JBMESSAGING_1416/docs/examples/servlet/src/org/jboss/example/jms (from rev 5772, branches/Branch_1_4/docs/examples/servlet/src/org/jboss/example/jms)

Copied: branches/Branch_JBMESSAGING_1416/docs/examples/servlet/src/org/jboss/example/jms/servlet (from rev 5772, branches/Branch_1_4/docs/examples/servlet/src/org/jboss/example/jms/servlet)

Deleted: branches/Branch_JBMESSAGING_1416/docs/examples/servlet/src/org/jboss/example/jms/servlet/ServletExample.java
===================================================================
--- branches/Branch_1_4/docs/examples/servlet/src/org/jboss/example/jms/servlet/ServletExample.java	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/docs/examples/servlet/src/org/jboss/example/jms/servlet/ServletExample.java	2009-02-02 10:42:54 UTC (rev 5773)
@@ -1,140 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.example.jms.servlet;
-
-import javax.jms.Connection;
-import javax.jms.ConnectionFactory;
-import javax.jms.JMSException;
-import javax.jms.MessageConsumer;
-import javax.jms.MessageProducer;
-import javax.jms.Queue;
-import javax.jms.Session;
-import javax.jms.TextMessage;
-import javax.naming.InitialContext;
-
-import org.jboss.example.jms.common.ExampleSupport;
-
-
-/**
- * The example creates a connection to the default provider and uses the connection to send a
- * message to the queue "queue/testQueue". Then, the example creates a second connection to the
- * provider and uses it to receive the message.
- *
- * Since this example is also used by the smoke test, it is essential that the VM exits with exit
- * code 0 in case of successful execution and a non-zero value on failure.
- *
- * @author <a href="mailto:ovidiu at feodorov.com">Ovidiu Feodorov</a>
- * @author <a href="mailto:tim.fox at jboss.com">Tim Fox</a>
- * @version <tt>$Revision: 2977 $</tt>
- *
- * $Id: HttpExample.java 2977 2007-08-08 15:32:14Z timfox $
- */
-public class ServletExample extends ExampleSupport
-{
-   
-   public void example() throws Exception
-   {
-      String destinationName = getDestinationJNDIName();
-      
-      InitialContext ic = null;
-      ConnectionFactory cf = null;
-      Connection connection =  null;
-      Connection connection2 =  null;
-      
-      try
-      {
-         ic = new InitialContext();
-         
-         cf = (ConnectionFactory)ic.lookup("/ServletConnectionFactory");
-         log("ocnnection factory: " + cf);
-         Queue queue = (Queue)ic.lookup(destinationName);
-         log("Queue " + destinationName + " exists");
-         
-         connection = cf.createConnection();
-         Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-         MessageProducer sender = session.createProducer(queue);
-         
-         TextMessage message = session.createTextMessage("Hello!");
-         sender.send(message);
-         log("The message was successfully sent to the " + queue.getQueueName() + " queue");
-         
-         connection2 = cf.createConnection();
-         Session session2 = connection2.createSession(false, Session.AUTO_ACKNOWLEDGE);
-         MessageConsumer consumer = session2.createConsumer(queue);
-         
-         connection2.start();
-         
-         message = (TextMessage)consumer.receive(2000);
-         log("Received message: " + message.getText());
-         assertEquals("Hello!", message.getText());
-         
-         displayProviderInfo(connection2.getMetaData());
-         
-      }
-      finally
-      {
-         if(ic != null)
-         {
-            try
-            {
-               ic.close();
-            }
-            catch(Exception e)
-            {
-               throw e;
-            }
-         }
-         
-         //ALWAYS close your connection in a finally block to avoid leaks
-         //Closing connection also takes care of closing its related objects e.g. sessions
-         closeConnection(connection);
-         closeConnection(connection2);
-      }
-   }
-   
-   private void closeConnection(Connection con)
-   {
-      try
-      {
-         if (con != null)
-         {
-            con.close();
-         }         
-      }
-      catch(JMSException jmse)
-      {
-         log("Could not close connection " + con +" exception was " +jmse);         
-      }
-   }
-   
-   
-   protected boolean isQueueExample()
-   {
-      return true;
-   }
-   
-   public static void main(String[] args)
-   {
-      new ServletExample().run();
-   }
-   
-}

Copied: branches/Branch_JBMESSAGING_1416/docs/examples/servlet/src/org/jboss/example/jms/servlet/ServletExample.java (from rev 5772, branches/Branch_1_4/docs/examples/servlet/src/org/jboss/example/jms/servlet/ServletExample.java)
===================================================================
--- branches/Branch_JBMESSAGING_1416/docs/examples/servlet/src/org/jboss/example/jms/servlet/ServletExample.java	                        (rev 0)
+++ branches/Branch_JBMESSAGING_1416/docs/examples/servlet/src/org/jboss/example/jms/servlet/ServletExample.java	2009-02-02 10:42:54 UTC (rev 5773)
@@ -0,0 +1,140 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.example.jms.servlet;
+
+import javax.jms.Connection;
+import javax.jms.ConnectionFactory;
+import javax.jms.JMSException;
+import javax.jms.MessageConsumer;
+import javax.jms.MessageProducer;
+import javax.jms.Queue;
+import javax.jms.Session;
+import javax.jms.TextMessage;
+import javax.naming.InitialContext;
+
+import org.jboss.example.jms.common.ExampleSupport;
+
+
+/**
+ * The example creates a connection to the default provider and uses the connection to send a
+ * message to the queue "queue/testQueue". Then, the example creates a second connection to the
+ * provider and uses it to receive the message.
+ *
+ * Since this example is also used by the smoke test, it is essential that the VM exits with exit
+ * code 0 in case of successful execution and a non-zero value on failure.
+ *
+ * @author <a href="mailto:ovidiu at feodorov.com">Ovidiu Feodorov</a>
+ * @author <a href="mailto:tim.fox at jboss.com">Tim Fox</a>
+ * @version <tt>$Revision: 2977 $</tt>
+ *
+ * $Id: HttpExample.java 2977 2007-08-08 15:32:14Z timfox $
+ */
+public class ServletExample extends ExampleSupport
+{
+   
+   public void example() throws Exception
+   {
+      String destinationName = getDestinationJNDIName();
+      
+      InitialContext ic = null;
+      ConnectionFactory cf = null;
+      Connection connection =  null;
+      Connection connection2 =  null;
+      
+      try
+      {
+         ic = new InitialContext();
+         
+         cf = (ConnectionFactory)ic.lookup("/ServletConnectionFactory");
+         log("ocnnection factory: " + cf);
+         Queue queue = (Queue)ic.lookup(destinationName);
+         log("Queue " + destinationName + " exists");
+         
+         connection = cf.createConnection();
+         Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+         MessageProducer sender = session.createProducer(queue);
+         
+         TextMessage message = session.createTextMessage("Hello!");
+         sender.send(message);
+         log("The message was successfully sent to the " + queue.getQueueName() + " queue");
+         
+         connection2 = cf.createConnection();
+         Session session2 = connection2.createSession(false, Session.AUTO_ACKNOWLEDGE);
+         MessageConsumer consumer = session2.createConsumer(queue);
+         
+         connection2.start();
+         
+         message = (TextMessage)consumer.receive(2000);
+         log("Received message: " + message.getText());
+         assertEquals("Hello!", message.getText());
+         
+         displayProviderInfo(connection2.getMetaData());
+         
+      }
+      finally
+      {
+         if(ic != null)
+         {
+            try
+            {
+               ic.close();
+            }
+            catch(Exception e)
+            {
+               throw e;
+            }
+         }
+         
+         //ALWAYS close your connection in a finally block to avoid leaks
+         //Closing connection also takes care of closing its related objects e.g. sessions
+         closeConnection(connection);
+         closeConnection(connection2);
+      }
+   }
+   
+   private void closeConnection(Connection con)
+   {
+      try
+      {
+         if (con != null)
+         {
+            con.close();
+         }         
+      }
+      catch(JMSException jmse)
+      {
+         log("Could not close connection " + con +" exception was " +jmse);         
+      }
+   }
+   
+   
+   protected boolean isQueueExample()
+   {
+      return true;
+   }
+   
+   public static void main(String[] args)
+   {
+      new ServletExample().run();
+   }
+   
+}


Property changes on: branches/Branch_JBMESSAGING_1416/docs/examples/stateless
___________________________________________________________________
Name: svn:ignore
   + output


Modified: branches/Branch_JBMESSAGING_1416/docs/examples/stateless/build.xml
===================================================================
--- branches/Branch_JBMESSAGING_1416/docs/examples/stateless/build.xml	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/docs/examples/stateless/build.xml	2009-02-02 10:42:54 UTC (rev 5773)
@@ -19,30 +19,30 @@
    <property name="jboss.home" value="${ENV.JBOSS_HOME}"/>
    <property name="jboss.configuration" value="messaging"/>
    <property name="example.queue.name" value="testQueue"/>
+	
+	<path id="common.compilation.classpath">
+		<fileset file="${jboss.home}/client/jboss-j2ee.jar" />
+		<fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}" />
+	</path>
 
-   <path id="common.compilation.classpath">
-      <fileset file="${jboss.home}/client/jboss-j2ee.jar"/>
-      <fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}"/>
-   </path>
-
    <path id="example.compilation.classpath">
       <path refid="common.compilation.classpath"/>
       <pathelement path="../common/output/classes"/>
    </path>
 
-   <path id="execution.classpath">
-      <pathelement path="./etc"/>
-      <pathelement path="../common/output/classes"/>
-      <pathelement path="./output/classes"/>
-      <fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/lib/jboss-remoting.jar"/>
-      <fileset file="${jboss.home}/client/jbossall-client.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/lib/log4j.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/lib/javassist.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/deploy/jboss-aop-jdk50.deployer/jboss-aop-jdk50.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/deploy/jboss-aop-jdk50.deployer/trove.jar"/>
-   </path>
-
+	<path id="execution.classpath">
+		<pathelement path="./etc" />
+		<pathelement path="../common/output/classes" />
+		<pathelement path="./output/classes" />
+		<fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/lib/jboss-remoting.jar" />
+		<fileset file="${jboss.home}/client/jbossall-client.jar" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/lib/log4j.jar" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/lib/javassist.jar" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/deploy/jboss-aop-jdk50.deployer/jboss-aop-jdk50.jar" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/deploy/jboss-aop-jdk50.deployer/trove.jar" />
+	</path>
+	
    <target name="identify">
       <echo message="###########################################################################"/>
       <echo message="#              Running the STATELESS SESSION BEAN example                 #"/>

Copied: branches/Branch_JBMESSAGING_1416/docs/examples/stateless/build.xml.AS5 (from rev 5772, branches/Branch_1_4/docs/examples/stateless/build.xml.AS5)
===================================================================
--- branches/Branch_JBMESSAGING_1416/docs/examples/stateless/build.xml.AS5	                        (rev 0)
+++ branches/Branch_JBMESSAGING_1416/docs/examples/stateless/build.xml.AS5	2009-02-02 10:42:54 UTC (rev 5773)
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+   To run the example, set JBOSS_HOME and run ant (with no parameters)
+
+   $Id: build.xml 5408 2008-11-21 04:43:36Z clebert.suconic at jboss.com $
+
+ -->
+
+<project name="StatelessExample" default="run">
+
+	<property environment="ENV" />
+
+	<!-- These properties may be overriden by calling ants when this example is used in a smoke test -->
+	<property file="../examples.properties" />
+	<property name="jboss.home" value="${ENV.JBOSS_HOME}" />
+	<property name="messaging.client.jar.name" value="${jboss.home}/client/jboss-messaging-client.jar" />
+	<property name="jboss.configuration" value="messaging" />
+	<property name="example.queue.name" value="testQueue" />
+
+	<path id="common.compilation.classpath">
+		<fileset file="${jboss.home}/client/jboss-javaee.jar" />
+		<fileset file="${messaging.client.jar.name}" />
+	</path>
+
+	<path id="example.compilation.classpath">
+		<path refid="common.compilation.classpath" />
+		<pathelement path="../common/output/classes" />
+	</path>
+
+	<path id="execution.classpath">
+		<pathelement path="./etc" />
+		<pathelement path="../common/output/classes" />
+		<pathelement path="./output/classes" />
+		<fileset dir="${jboss.home}/client" includes="*.jar" />
+	</path>
+
+	<target name="identify">
+		<echo message="###########################################################################" />
+		<echo message="#              Running the STATELESS SESSION BEAN example                 #" />
+		<echo message="###########################################################################" />
+		<echo message="The queue:      ${example.queue.name}" />
+		<echo message="The client jar: ${messaging.client.jar.name}" />
+	</target>
+
+	<target name="sanity-check" depends="identify">
+		<available property="client.jar.present" file="${messaging.client.jar.name}" />
+		<fail message="Could not find client jar ${messaging.client.jar.name}" unless="client.jar.present" />
+	</target>
+
+	<target name="init" depends="sanity-check">
+		<mkdir dir="./output/classes/META-INF" />
+		<mkdir dir="./output/lib" />
+		<mkdir dir="../common/output/classes" />
+	</target>
+
+	<target name="compile" depends="init">
+		<javac destdir="../common/output/classes" debug="on" debuglevel="lines,vars,source">
+			<src path="../common/src" />
+			<classpath refid="common.compilation.classpath" />
+		</javac>
+		<javac destdir="./output/classes" debug="on" debuglevel="lines,vars,source">
+			<src path="./src" />
+			<classpath refid="example.compilation.classpath" />
+		</javac>
+	</target>
+
+	<target name="jar" depends="compile">
+		<copy todir="./output/classes/META-INF">
+			<fileset dir="./etc/META-INF" includes="*" />
+		</copy>
+		<jar destfile="./output/lib/stateless-example.jar" basedir="./output/classes" includes="META-INF/**,org/jboss/example/jms/stateless/bean/*.class" />
+	</target>
+
+	<target name="deploy" depends="jar">
+		<copy file="./output/lib/stateless-example.jar" todir="${jboss.home}/server/${jboss.configuration}/deploy" />
+		<antcall target="sleep">
+			<param name="sleep.interval" value="5" />
+		</antcall>
+	</target>
+
+	<target name="run" depends="deploy">
+		<antcall target="send-and-receive" />
+		<antcall target="undeploy" />
+	</target>
+
+	<target name="send-and-receive">
+		<!-- The client expects to find the name of the queue to connect to as value of the
+           'example.queue.name' property, which *may* be defined by calling ants when this example
+            is used in a smoke test -->
+		<java classname="org.jboss.example.jms.stateless.client.Client" classpathref="execution.classpath" fork="yes" failonerror="true">
+			<sysproperty key="example.queue.name" value="${example.queue.name}" />
+			<!--
+         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=y,suspend=y,address=example"/>
+          -->
+		</java>
+	</target>
+
+	<target name="undeploy">
+		<delete file="${jboss.home}/server/${jboss.configuration}/deploy/stateless-example.jar" quiet="true" />
+	</target>
+
+	<target name="clean" depends="undeploy">
+		<delete dir="./output" quiet="true" />
+		<delete dir="../common/output" quiet="true" />
+	</target>
+
+	<target name="sleep">
+		<echo message="Sleeping for ${sleep.interval} seconds ..." />
+		<sleep seconds="${sleep.interval}" />
+	</target>
+
+</project>
+

Modified: branches/Branch_JBMESSAGING_1416/docs/examples/stateless-clustered/README.html
===================================================================
--- branches/Branch_JBMESSAGING_1416/docs/examples/stateless-clustered/README.html	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/docs/examples/stateless-clustered/README.html	2009-02-02 10:42:54 UTC (rev 5773)
@@ -26,6 +26,7 @@
 documentation.&nbsp; However, the example will automatically deploy its own
 queue, unless a queue with the same name is already deployed.
 </p>
+<br>
 <p>
 This example also relies on having access to <tt>jboss-messaging-client.jar</tt>
 archive that comes with the release bundle. If you run this example
@@ -33,7 +34,18 @@
 configured to find the client jar. Otherwise, you must modify example's
 <tt>build.xml</tt> accordingly.
 </p>
+<br><br>
+For JBoss5, you should copy all as messaging-node0, configure mysql as a database, make it clustered, and copy it as messaging-node1. Start each instance as:
+<br><br>
+./run -c messaging-node0 -Djboss.service.binding.set=ports-01
+<br><br>
+<br>
+and in another window
+<br><br>
+./run.sh -c messaging-node1 -Djboss.service.binding.set=ports-02 -Djboss.messaging.ServerPeerID=1
+<br><br>
 
+
 <h2>Running the example</h2>
 <p>
 1. Set up the JBOSS_HOME environment variable to point to the JBoss

Modified: branches/Branch_JBMESSAGING_1416/docs/examples/stateless-clustered/build.xml
===================================================================
--- branches/Branch_JBMESSAGING_1416/docs/examples/stateless-clustered/build.xml	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/docs/examples/stateless-clustered/build.xml	2009-02-02 10:42:54 UTC (rev 5773)
@@ -19,30 +19,30 @@
    <property name="jboss.home" value="${ENV.JBOSS_HOME}"/>
    <property name="jboss.configuration" value="messaging-node0"/>
    <property name="example.queue.name" value="testFarmQueue"/>
+	
+	<path id="common.compilation.classpath">
+		<fileset file="${jboss.home}/client/jboss-j2ee.jar" />
+		<fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}" />
+	</path>
 
-   <path id="common.compilation.classpath">
-      <fileset file="${jboss.home}/client/jboss-j2ee.jar"/>
-      <fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}"/>
-   </path>
-
    <path id="example.compilation.classpath">
       <path refid="common.compilation.classpath"/>
       <pathelement path="../common/output/classes"/>
    </path>
 
-   <path id="execution.classpath">
-      <pathelement path="./etc"/>
-      <pathelement path="../common/output/classes"/>
-      <pathelement path="./output/classes"/>
-      <fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/lib/jboss-remoting.jar"/>
-      <fileset file="${jboss.home}/client/jbossall-client.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/lib/log4j.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/lib/javassist.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/deploy/jboss-aop-jdk50.deployer/jboss-aop-jdk50.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/deploy/jboss-aop-jdk50.deployer/trove.jar"/>
-   </path>
-
+	<path id="execution.classpath">
+		<pathelement path="./etc" />
+		<pathelement path="../common/output/classes" />
+		<pathelement path="./output/classes" />
+		<fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/lib/jboss-remoting.jar" />
+		<fileset file="${jboss.home}/client/jbossall-client.jar" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/lib/log4j.jar" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/lib/javassist.jar" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/deploy/jboss-aop-jdk50.deployer/jboss-aop-jdk50.jar" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/deploy/jboss-aop-jdk50.deployer/trove.jar" />
+	</path>
+	
    <target name="identify">
       <echo message="###########################################################################"/>
       <echo message="#         Running the STATELESS CLUSTERED SESSION BEAN example            #"/>

Copied: branches/Branch_JBMESSAGING_1416/docs/examples/stateless-clustered/build.xml.AS5 (from rev 5772, branches/Branch_1_4/docs/examples/stateless-clustered/build.xml.AS5)
===================================================================
--- branches/Branch_JBMESSAGING_1416/docs/examples/stateless-clustered/build.xml.AS5	                        (rev 0)
+++ branches/Branch_JBMESSAGING_1416/docs/examples/stateless-clustered/build.xml.AS5	2009-02-02 10:42:54 UTC (rev 5773)
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+   To run the example, set JBOSS_HOME and run ant (with no parameters)
+
+   $Id: build.xml 5408 2008-11-21 04:43:36Z clebert.suconic at jboss.com $
+
+ -->
+
+<project name="StatelessClusteredExample" default="run">
+
+	<property environment="ENV" />
+
+	<!-- These properties may be overriden by calling ants when this example is used in a smoke test -->
+	<property file="../examples.properties" />
+	<property name="jboss.home" value="${ENV.JBOSS_HOME}" />
+	<property name="messaging.client.jar.name" value="${jboss.home}/client/jboss-messaging-client.jar" />
+	<property name="jboss.configuration" value="messaging-node0" />
+	<property name="example.queue.name" value="testFarmQueue" />
+
+	<path id="common.compilation.classpath">
+		<fileset file="${jboss.home}/client/jboss-javaee.jar" />
+		<fileset file="${messaging.client.jar.name}" />
+	</path>
+
+	<path id="example.compilation.classpath">
+		<path refid="common.compilation.classpath" />
+		<pathelement path="../common/output/classes" />
+	</path>
+
+	<path id="execution.classpath">
+		<pathelement path="./etc" />
+		<pathelement path="../common/output/classes" />
+		<pathelement path="./output/classes" />
+		<fileset dir="${jboss.home}/client" includes="*.jar" />
+	</path>
+
+	<target name="identify">
+		<echo message="###########################################################################" />
+		<echo message="#         Running the STATELESS CLUSTERED SESSION BEAN example            #" />
+		<echo message="###########################################################################" />
+		<echo message="The queue:      ${example.queue.name}" />
+		<echo message="The client jar: ${messaging.client.jar.name}" />
+	</target>
+
+	<target name="sanity-check" depends="identify">
+		<available property="client.jar.present" file="${messaging.client.jar.path}/${messaging.client.jar.name}" />
+		<fail message="Could not find client jar ${messaging.client.jar.name}" unless="client.jar.present" />
+	</target>
+
+	<target name="init" depends="sanity-check">
+		<mkdir dir="./output/classes/META-INF" />
+		<mkdir dir="./output/lib" />
+		<mkdir dir="../common/output/classes" />
+	</target>
+
+	<target name="compile" depends="init">
+		<javac destdir="../common/output/classes" debug="on" debuglevel="lines,vars,source">
+			<src path="../common/src" />
+			<classpath refid="common.compilation.classpath" />
+		</javac>
+		<javac destdir="./output/classes" debug="on" debuglevel="lines,vars,source">
+			<src path="./src" />
+			<classpath refid="example.compilation.classpath" />
+		</javac>
+	</target>
+
+	<target name="jar" depends="compile">
+		<copy todir="./output/classes/META-INF">
+			<fileset dir="./etc/META-INF" includes="*" />
+		</copy>
+		<jar destfile="./output/lib/stateless-clustered-example.jar" basedir="./output/classes" includes="META-INF/**,org/jboss/example/jms/statelessclustered/bean/*.class" />
+	</target>
+
+	<target name="deploy" depends="jar">
+		<copy file="./etc/destinations-farm-service.xml" todir="${jboss.home}/server/${jboss.configuration}/farm" />
+		<copy file="./output/lib/stateless-clustered-example.jar" todir="${jboss.home}/server/${jboss.configuration}/farm" />
+		<antcall target="sleep">
+			<param name="sleep.interval" value="15" />
+		</antcall>
+	</target>
+
+	<target name="run" depends="deploy">
+		<antcall target="send-and-receive" />
+		<antcall target="undeploy" />
+	</target>
+
+	<target name="send-and-receive">
+		<!-- The client expects to find the name of the queue to connect to as value of the
+           'example.queue.name' property, which *may* be defined by calling ants when this example
+            is used in a smoke test -->
+		<java classname="org.jboss.example.jms.statelessclustered.client.Client" classpathref="execution.classpath" fork="yes" failonerror="true">
+			<sysproperty key="example.queue.name" value="${example.queue.name}" />
+			<!--
+         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=y,suspend=y,address=example"/>
+          -->
+		</java>
+	</target>
+
+	<target name="undeploy">
+		<delete file="${jboss.home}/server/${jboss.configuration}/farm/stateless-clustered-example.jar" quiet="true" />
+		<delete file="${jboss.home}/server/${jboss.configuration}/farm/destinations-farm-service.xml" quiet="true" />
+	</target>
+
+	<target name="clean" depends="undeploy">
+		<delete dir="./output" quiet="true" />
+		<delete dir="../common/output" quiet="true" />
+	</target>
+
+	<target name="sleep">
+		<echo message="Sleeping for ${sleep.interval} seconds ..." />
+		<sleep seconds="${sleep.interval}" />
+	</target>
+
+</project>
+


Property changes on: branches/Branch_JBMESSAGING_1416/docs/examples/topic
___________________________________________________________________
Name: svn:ignore
   + output


Modified: branches/Branch_JBMESSAGING_1416/docs/examples/topic/build.xml
===================================================================
--- branches/Branch_JBMESSAGING_1416/docs/examples/topic/build.xml	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/docs/examples/topic/build.xml	2009-02-02 10:42:54 UTC (rev 5773)
@@ -19,30 +19,30 @@
    <property name="jboss.home" value="${ENV.JBOSS_HOME}"/>
    <property name="jboss.configuration" value="messaging"/>
    <property name="example.topic.name" value="testTopic"/>
+	
+	<path id="common.compilation.classpath">
+		<fileset file="${jboss.home}/client/jboss-j2ee.jar" />
+		<fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}" />
+	</path>
 
-   <path id="common.compilation.classpath">
-      <fileset file="${jboss.home}/client/jboss-j2ee.jar"/>
-      <fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}"/>
-   </path>
-
    <path id="example.compilation.classpath">
       <path refid="common.compilation.classpath"/>
       <pathelement path="../common/output"/>
    </path>
 
-   <path id="execution.classpath">
-      <pathelement path="./etc"/>
-      <pathelement path="../common/output"/>
-      <pathelement path="./output"/>
-      <fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/lib/jboss-remoting.jar"/>
-      <fileset file="${jboss.home}/client/jbossall-client.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/lib/log4j.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/lib/javassist.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/deploy/jboss-aop-jdk50.deployer/jboss-aop-jdk50.jar"/>
-      <fileset file="${jboss.home}/server/${jboss.configuration}/deploy/jboss-aop-jdk50.deployer/trove.jar"/>
-   </path>
-
+	<path id="execution.classpath">
+		<pathelement path="./etc" />
+		<pathelement path="../common/output/classes" />
+		<pathelement path="./output/classes" />
+		<fileset file="${messaging.client.jar.path}/${messaging.client.jar.name}" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/lib/jboss-remoting.jar" />
+		<fileset file="${jboss.home}/client/jbossall-client.jar" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/lib/log4j.jar" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/lib/javassist.jar" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/deploy/jboss-aop-jdk50.deployer/jboss-aop-jdk50.jar" />
+		<fileset file="${jboss.home}/server/${jboss.configuration}/deploy/jboss-aop-jdk50.deployer/trove.jar" />
+	</path>
+	
    <target name="identify">
       <echo message="###########################################################################"/>
       <echo message="#                       Running the TOPIC example                         #"/>
@@ -57,21 +57,21 @@
             unless="client.jar.present"/>
    </target>
 
-   <target name="init" depends="sanity-check">
-      <mkdir dir="./output"/>
-      <mkdir dir="../common/output"/>
-   </target>
+	<target name="init" depends="sanity-check">
+		<mkdir dir="./output/classes" />
+		<mkdir dir="../common/output/classes" />
+	</target>
 
-   <target name="compile" depends="init">
-      <javac destdir="../common/output" debug="on" debuglevel="lines,vars,source">
-         <src path="../common/src"/>
-         <classpath refid="common.compilation.classpath"/>
-      </javac>
-      <javac destdir="./output" debug="on" debuglevel="lines,vars,source">
-         <src path="./src"/>
-         <classpath refid="example.compilation.classpath"/>
-      </javac>
-   </target>
+	<target name="compile" depends="init">
+		<javac destdir="../common/output/classes" debug="on" debuglevel="lines,vars,source">
+			<src path="../common/src" />
+			<classpath refid="common.compilation.classpath" />
+		</javac>
+		<javac destdir="./output/classes" debug="on" debuglevel="lines,vars,source">
+			<src path="./src" />
+			<classpath refid="example.compilation.classpath" />
+		</javac>
+	</target>
 
    <target name="run" depends="compile">
       <!-- TopicExample expects to find the name of the topic to connect to as value of the

Copied: branches/Branch_JBMESSAGING_1416/docs/examples/topic/build.xml.AS5 (from rev 5772, branches/Branch_1_4/docs/examples/topic/build.xml.AS5)
===================================================================
--- branches/Branch_JBMESSAGING_1416/docs/examples/topic/build.xml.AS5	                        (rev 0)
+++ branches/Branch_JBMESSAGING_1416/docs/examples/topic/build.xml.AS5	2009-02-02 10:42:54 UTC (rev 5773)
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+   To run the example, set JBOSS_HOME and run ant (with no parameters)
+
+   $Id: build.xml 5408 2008-11-21 04:43:36Z clebert.suconic at jboss.com $
+
+ -->
+
+<project name="TopicExample" default="run">
+
+	<property environment="ENV" />
+
+	<!-- These properties may be overriden by calling ants when this example is used in a smoke test -->
+	<property file="../examples.properties" />
+	<property name="jboss.home" value="${ENV.JBOSS_HOME}" />
+	<property name="messaging.client.jar.name" value="${jboss.home}/client/jboss-messaging-client.jar" />
+	<property name="jboss.configuration" value="messaging" />
+	<property name="example.topic.name" value="testTopic" />
+
+	<path id="common.compilation.classpath">
+		<fileset file="${jboss.home}/client/jboss-javaee.jar" />
+		<fileset file="${messaging.client.jar.name}" />
+	</path>
+
+	<path id="example.compilation.classpath">
+		<path refid="common.compilation.classpath" />
+		<pathelement path="../common/output/classes" />
+	</path>
+
+	<path id="execution.classpath">
+		<pathelement path="./etc" />
+		<pathelement path="../common/output/classes" />
+		<pathelement path="./output/classes" />
+		<fileset dir="${jboss.home}/client" includes="*.jar" />
+	</path>
+
+	<target name="identify">
+		<echo message="###########################################################################" />
+		<echo message="#                       Running the TOPIC example                         #" />
+		<echo message="###########################################################################" />
+		<echo message="The topic:      ${example.topic.name}" />
+		<echo message="The client jar: ${messaging.client.jar.name}" />
+	</target>
+
+	<target name="sanity-check" depends="identify">
+		<available property="client.jar.present" file="${messaging.client.jar.name}" />
+		<fail message="Could not find client jar ${messaging.client.jar.name}" unless="client.jar.present" />
+	</target>
+
+	<target name="init" depends="sanity-check">
+		<mkdir dir="./output/classes" />
+		<mkdir dir="../common/output/classes" />
+	</target>
+
+	<target name="compile" depends="init">
+		<javac destdir="../common/output/classes" debug="on" debuglevel="lines,vars,source">
+			<src path="../common/src" />
+			<classpath refid="common.compilation.classpath" />
+		</javac>
+		<javac destdir="./output/classes" debug="on" debuglevel="lines,vars,source">
+			<src path="./src" />
+			<classpath refid="example.compilation.classpath" />
+		</javac>
+	</target>
+
+	<target name="run" depends="compile">
+		<!-- TopicExample expects to find the name of the topic to connect to as value of the
+           'example.topic.name' property, which *may* be defined by calling ants when this example
+            is used in a smoke test -->
+		<java classname="org.jboss.example.jms.topic.TopicExample" classpathref="execution.classpath" fork="yes" failonerror="true">
+			<sysproperty key="example.topic.name" value="${example.topic.name}" />
+			<!--
+         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=y,suspend=y,address=example"/>
+          -->
+		</java>
+	</target>
+
+	<target name="clean">
+		<delete dir="./output" quiet="true" />
+		<delete dir="../common/output" quiet="true" />
+	</target>
+
+</project>
+

Copied: branches/Branch_JBMESSAGING_1416/docs/examples/web-service/build.xml.AS5 (from rev 5772, branches/Branch_1_4/docs/examples/web-service/build.xml.AS5)
===================================================================
--- branches/Branch_JBMESSAGING_1416/docs/examples/web-service/build.xml.AS5	                        (rev 0)
+++ branches/Branch_JBMESSAGING_1416/docs/examples/web-service/build.xml.AS5	2009-02-02 10:42:54 UTC (rev 5773)
@@ -0,0 +1,190 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+   To run the example, set JBOSS_HOME and run ant (with no parameters)
+
+   $Id: build.xml 5302 2008-11-07 05:44:31Z clebert.suconic at jboss.com $
+
+ -->
+
+<project name="WebServicesExample" default="run">
+
+   <property environment="ENV"/>
+
+   <!-- These properties may be overriden by calling ants when this example is used in a smoke test -->
+   <property file="../examples.properties"/>
+   <property name="jboss.home" value="${ENV.JBOSS_HOME}" />
+   <property name="messaging.client.jar.name" value="${jboss.home}/client/jboss-messaging-client.jar" />
+   <property name="jboss.configuration" value="messaging"/>
+   <property name="example.queue.name" value="testQueue"/>
+
+   <path id="common.compilation.classpath">
+      <fileset file="${jboss.home}/client/jboss-j2ee.jar"/>
+      <fileset dir="${jboss.home}/client" includes="*.jar" />
+      <fileset file="${messaging.client.jar.name}"/>
+   </path>
+
+   <property name="jboss.client" value="${jboss.home}/client"/>
+
+   <path id="runtime.classpath">
+      <path refid="common.compilation.classpath"/>
+      <pathelement path="./etc"/>
+      <pathelement path="../common/output/classes"/>
+      <pathelement path="./output/classes"/>
+      <pathelement location="${messaging.client.jar.path}/${messaging.client.jar.name}"/>
+
+      <!-- all this stuff for WebServices -->
+      <pathelement location="${jboss.home}/lib/endorsed/xercesImpl.jar"/>
+      <pathelement location="${jboss.client}/activation.jar"/>
+      <pathelement location="${jboss.client}/commons-logging.jar"/>
+      <pathelement location="${jboss.client}/javassist.jar"/>
+      <pathelement location="${jboss.client}/jbossall-client.jar"/>
+      <pathelement location="${jboss.client}/jbossws-client.jar"/>
+      <pathelement location="${jboss.client}/log4j.jar"/>
+      <pathelement location="${jboss.client}/mail.jar"/>
+      <pathelement location="${jboss.client}/jboss-xml-binding.jar"/>
+      <pathelement location="${jboss.client}/jboss-jaxws.jar"/>
+      <pathelement location="${jboss.client}/jboss-jaxrpc.jar"/>
+      <pathelement location="${jboss.client}/jboss-saaj.jar"/>
+      <pathelement location="${jboss.client}/wsdl4j.jar"/>
+      <pathelement location="${jboss.client}/jaxb-api.jar"/>
+   </path>
+
+   <path id="client.classpath">
+      <path refid="common.compilation.classpath"/>
+      <pathelement path="./etc"/>
+      <pathelement path="../common/output/classes"/>
+      <pathelement path="./output/client-classes"/>
+
+      <!-- all this stuff for WebServices -->
+      <fileset file="${jboss.home}/server/${jboss.configuration}/lib/jboss-remoting.jar"/>
+      <pathelement location="${jboss.client}/activation.jar"/>
+      <pathelement location="${jboss.client}/commons-logging.jar"/>
+      <pathelement location="${jboss.client}/javassist.jar"/>
+      <pathelement location="${jboss.client}/jbossall-client.jar"/>
+      <pathelement location="${jboss.client}/jbossws-client.jar"/>
+      <pathelement location="${jboss.client}/log4j.jar"/>
+      <pathelement location="${jboss.client}/mail.jar"/>
+      <pathelement location="${jboss.client}/jboss-xml-binding.jar"/>
+      <pathelement location="${jboss.client}/jboss-jaxws.jar"/>
+      <pathelement location="${jboss.client}/jboss-jaxrpc.jar"/>
+      <pathelement location="${jboss.client}/jboss-saaj.jar"/>
+      <pathelement location="${jboss.client}/wsdl4j.jar"/>
+      <pathelement location="${jboss.client}/jaxb-api.jar"/>
+      <pathelement location="${jboss.home}/lib/endorsed/xercesImpl.jar"/>
+
+
+      <pathelement location="${messaging.client.jar.name}"/>
+      <pathelement location="${jboss.home}/client/jbossall-client.jar"/>
+      <pathelement location="${jboss.home}/server/${jboss.configuration}/lib/log4j.jar"/>
+      <pathelement location="${jboss.home}/server/${jboss.configuration}/lib/javassist.jar"/>
+      <pathelement location="${jboss.home}/server/${jboss.configuration}/deploy/jboss-aop-jdk50.deployer/jboss-aop-jdk50.jar"/>
+      <pathelement location="${jboss.home}/server/${jboss.configuration}/deploy/jboss-aop-jdk50.deployer/trove.jar"/>
+
+
+   </path>
+
+   <target name="identify">
+      <echo message="###########################################################################"/>
+      <echo message="#              Running the WebServices example                            #"/>
+      <echo message="###########################################################################"/>
+      <echo message="The queue:      ${example.queue.name}"/>
+      <echo message="The client jar: ${messaging.client.jar.name}"/>
+   </target>
+
+   <target name="sanity-check" depends="identify">
+      <available property="client.jar.present" file="${messaging.client.jar.name}"/>
+      <fail message="Could not find client jar ${messaging.client.jar.name}"
+            unless="client.jar.present"/>
+   </target>
+
+   <target name="init" depends="sanity-check">
+      <mkdir dir="./output/classes/META-INF"/>
+      <mkdir dir="./output/lib"/>
+      <mkdir dir="../common/output/classes"/>
+   </target>
+
+   <target name="compile" depends="init">
+      <javac destdir="../common/output/classes" debug="on" debuglevel="lines,vars,source">
+         <src path="../common/src"/>
+         <classpath refid="common.compilation.classpath"/>
+      </javac>
+      <javac destdir="./output/classes" debug="on" debuglevel="lines,vars,source">
+         <src path="./src"/>
+         <classpath refid="runtime.classpath"/>
+      </javac>
+   </target>
+
+   <target name="run-wsdl-client" depends="compile">
+      <taskdef name="wstools" classname="org.jboss.ws.tools.ant.wstools">
+        <classpath refid="runtime.classpath"/>
+      </taskdef>
+
+      <mkdir dir="./output/client"/>
+
+      <get src="http://127.0.0.1:8080/jms-web-service/JMSWebServiceExample?wsdl" dest="./output/service.wsdl" />
+
+      <wstools config="./etc/client-config/client-config.xml"
+               dest="./output/client"/>
+   </target>
+
+
+   <target name="war" depends="compile">
+      <jar destfile="./output/lib/jms-web-service.war">
+         <zipfileset dir="./output/classes" prefix="WEB-INF/classes"/>
+         <zipfileset dir="./etc/WEB-INF" prefix="WEB-INF"/>
+      </jar>
+   </target>
+
+   <target name="deploy" depends="war">
+      <copy file="./output/lib/jms-web-service.war"
+            todir="${jboss.home}/server/${jboss.configuration}/deploy"/>
+      <antcall target="sleep"><param name="sleep.interval" value="10"/></antcall>
+   </target>
+
+   <target name="compile-client">
+      <mkdir dir="./output/client-classes"/>
+      <javac destdir="./output/client-classes" debug="on" debuglevel="lines,vars,source">
+         <src path="./output/client"/>
+         <src path="./src-client"/>
+         <classpath refid="runtime.classpath"/>
+      </javac>
+   </target>
+
+
+   <target name="run" depends="deploy, run-wsdl-client, compile-client">
+      <antcall target="send-and-receive"/>
+      <antcall target="undeploy"/>
+   </target>
+
+   <target name="send-and-receive">
+      <!-- The client expects to find the name of the queue to connect to as value of the
+           'example.queue.name' property, which *may* be defined by calling ants when this example
+            is used in a smoke test -->
+      <java classname="org.jboss.example.jms.webservices.client.Client"
+            classpathref="client.classpath" fork="yes" failonerror="true">
+         <sysproperty key="example.queue.name" value="${example.queue.name}"/>
+         <!--
+         <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=y,suspend=y,address=example"/>
+          -->
+      </java>
+   </target>
+
+   <target name="undeploy">
+      <delete file="${jboss.home}/server/${jboss.configuration}/deploy/jms-web-service.war"
+              quiet="true"/>
+   </target>
+
+   <target name="clean" depends="undeploy">
+      <delete dir="./output" quiet="true"/>
+      <delete dir="../common/output" quiet="true"/>
+   </target>
+
+   <target name="sleep">
+      <echo message="Sleeping for ${sleep.interval} seconds ..."/>
+      <sleep seconds="${sleep.interval}"/>
+   </target>
+
+</project>
+

Modified: branches/Branch_JBMESSAGING_1416/docs/userguide/en/modules/about.xml
===================================================================
--- branches/Branch_JBMESSAGING_1416/docs/userguide/en/modules/about.xml	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/docs/userguide/en/modules/about.xml	2009-02-02 10:42:54 UTC (rev 5773)
@@ -34,4 +34,4 @@
   <para>Permanent Team: Tim Fox (Project Lead), Jeff Mesnil (Core Developer),
   Andy Taylor (Core Developer), Clebert Suconic (Core Developer), Howard Gao (Core Developer)</para>
 
-</chapter>
\ No newline at end of file
+</chapter>

Modified: branches/Branch_JBMESSAGING_1416/docs/userguide/en/modules/configuration.xml
===================================================================
--- branches/Branch_JBMESSAGING_1416/docs/userguide/en/modules/configuration.xml	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/docs/userguide/en/modules/configuration.xml	2009-02-02 10:42:54 UTC (rev 5773)
@@ -31,85 +31,6 @@
   considered the security implications before removing the security
   interceptor.</para>
 
-  <section id="conf.jb5.securityMetadataStore">
-    <title>JBoss5 Specific - Configuring the SecurityStore</title>
-
-    <para>Starting on JBossMessaging 1.4.1 the SecurityStore is a pluggable
-    object, and it has a default implementation on
-    messaging-service.xml.</para>
-
-    <programlisting>   &lt;!--  The SecurityStore mbean --&gt;
-   &lt;mbean code="org.jboss.jms.server.security.SecurityMetadataStore"
-             name="jboss.messaging:service=SecurityStore"&gt;
-             
-        &lt;!-- The default security configuration to apply to destinations - this can be overridden on a per destination basis
-        --&gt;
-        &lt;attribute name="DefaultSecurityConfig"&gt;
-             &lt;security&gt;
-                  &lt;role name="guest" read="true" write="true" create="true"/&gt;
-             &lt;/security&gt;
-        &lt;/attribute&gt;
-        
-        &lt;!-- The JAAS security domain to use for JBoss Messaging --&gt;
-        &lt;attribute name="SecurityDomain"&gt;java:/jaas/messaging&lt;/attribute&gt;
-        
-        &lt;!--
-        This attribute defines what's the SuckerPassword used on this SecurityStore
-        --&gt;
-        &lt;attribute name="SuckerPassword"&gt;CHANGE ME!!&lt;/attribute&gt;  
-   &lt;/mbean&gt;    </programlisting>
-
-    <section id="conf.securityMetadataStore.attributes">
-      <title>SecurityStore Attributes</title>
-
-      <section id="conf.securityMetadataStore.attributes.defaultsecurity">
-        <title>DefaultSecurityConfig</title>
-
-        <para>Default security configuration is used when the security
-        configuration for a specific queue or topic has not been overridden in
-        the destination's deployment descriptor. It has exactly the same
-        syntax and semantics as in JBossMQ.</para>
-
-        <para>The <literal>DefaultSecurityConfig</literal> attribute element
-        should contain one <literal>&lt;security&gt;</literal> element. The
-        <literal>&lt;security&gt;</literal> element can contain multiple
-        <literal>&lt;role&gt;</literal> elements. Each
-        <literal>&lt;role&gt;</literal> element defines the default access for
-        that particular role.</para>
-
-        <para>If the <literal>read</literal> attribute is
-        <literal>true</literal> then that role will be able to read (create
-        consumers, receive messaages or browse) destinations by
-        default.</para>
-
-        <para>If the <literal>write</literal> attribute is
-        <literal>true</literal> then that role will be able to write (create
-        producers or send messages) to destinations by default.</para>
-
-        <para>If the <literal>create</literal> attribute is
-        <literal>true</literal> then that role will be able to create durable
-        subscriptions on topics by default.</para>
-      </section>
-
-      <section id="conf.securityMetadataStore.attributes.securitydomain">
-        <title>SecurityDomain</title>
-
-        <para>The JAAS security domain to be used by this server peer</para>
-      </section>
-
-      <section id="conf.securityMetadataStore.attributes.suckerpassword">
-        <title>SuckerPassword</title>
-
-        <para>This defines how the SecurityStore will authenticate the sucker
-        user (JBM.SUCKER)</para>
-      </section>
-    </section>
-  </section>
-
-  <section id="conf.jb4.security">
-    <title>JBoss4/EAP4.3 Specific - Configuring the SecurityStore</title>
-  </section>
-
   <section id="conf.serverpeer">
     <title>Configuring the ServerPeer</title>
 
@@ -2500,12 +2421,12 @@
   <section id="conf.servicebindingmanager">
     <title>ServiceBindingManager</title>
 
-    <para>If you are using the JBoss AS ServiceBindingManager to provide
-    different servers with different port ranges, then you must make sure that
-    the JBoss Messaging remoting configuration specified in the JBoss
-    Messaging section of the ServiceBindingManager xml file exactly matches
-    that in remoting-bisocket-service.xml.</para>
-
+    <para>The service binding manager on JBoss is used to provide multiple application servers instances running on the same IP using different port ranges, 
+          which is very useful during development. You could have multiple IPs on the same server and bind each server on a different IP if you wanted to deal with OS configs, 
+          but case you prefer not dealing with OS configs you have the option of using the ServiceBindingManager.</para>
+    
+    <para>On JBoss4 you must match the remoting configs accordingly to remoting-bisocket-service.xml. </para>
+    
     <para>If you are using a newer version of JBM in an older version of JBAS
     then the example bindings in the AS distribution may well be out of date.
     It is therefore imperative that the relevant sections are overwritten with
@@ -2516,4 +2437,4 @@
   </section>
 
   <!-- End conf.callback -->
-</chapter>
\ No newline at end of file
+</chapter>

Modified: branches/Branch_JBMESSAGING_1416/docs/userguide/en/modules/installation.xml
===================================================================
--- branches/Branch_JBMESSAGING_1416/docs/userguide/en/modules/installation.xml	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/docs/userguide/en/modules/installation.xml	2009-02-02 10:42:54 UTC (rev 5773)
@@ -9,7 +9,7 @@
 
   <para>Please note that JBoss EAP 4.3 or later comes with JBoss Messaging
   pre-installed as default JMS provider so if you are using that, there is no need to manually
-  install JBoss Messaging</para>
+  install JBoss Messaging.</para>
 
   <para>By default, JBoss AS 4.2 ships with JBossMQ as default JMS provider.
   In order to use the JBoss AS instance with JBoss Messaging, you need to
@@ -176,8 +176,8 @@
         <listitem>
           <para>If you want to run multiple JBoss Messaging nodes on the same
           box using the same IP address, e.g. for development purposes, then
-          you can use the ServiceBindingManager to do this as follows:</para>
-
+          you can use the ServiceBindingManager to do this as follows:</para>      
+                       
           <itemizedlist>
             <listitem>
               <para>Uncomment binding manager service from
@@ -246,7 +246,8 @@
               
               </programlisting>
 
-              <warning>You must ensure that the config (like above) is
+              <warning>The above config only apply to JBoss 4.2 and EAP 4.3.
+              On EAP4.3 and JBOSS 4.2 You must ensure that the config (like above) is
               identical to that in
               <literal>remoting-bisocket-service.xml</literal> With the
               exception of the actual serverBindPort which clearly must be
@@ -256,7 +257,8 @@
               may be out of date and you will need to copy the config from
               <literal>remoting-bisocket-service.xml. DO NOT just copy and
               paste from the above example - copy it from the JBoss Messaging
-              distribution.</literal></warning>
+              distribution.</literal>. 
+	      </warning>
 
               <para>You should ensure that each node is configured to use a
               different ports range.</para>
@@ -606,21 +608,17 @@
 
         <listitem>
           <para>
-            <note>JBoss Messaging 1.4.0 and 1.4.1 requires a patched version
-            of jboss-remoting.jar. This version is available can be downloaded from here <ulink
-            url="http://repository.jboss.com/jboss/remoting/2.2.2.SP10-brew/ ">here</ulink>The
-            version is JBoss Remoting 2.2.2.SP10-brew. Please download it and
-            copy it into the <literal>$JBOSS_HOME/server/&lt;your server
-            name&gt;/lib directory</literal> of any server profiles that use
-            JBoss Messaging. If you are using JBoss Messaging
-            from a standalone client also make sure this jar is on your
-            classpath *before* jbossall-client.jar.</note>
+            <note>
+            JBoss Messaging 1.4 requires a patched version of jboss-remoting.jar. This version is available
+            and can be downloaded from <ulink url="http://repository.jboss.com/jboss/remoting/2.2.2.SP11-brew/"> here</ulink>. 
+	    The version is JBoss Remoting 2.2.2.SP11-brew. Please download it and copy it into the
+            <literal>$JBOSS_HOME/server/&lt;your server name&gt;/lib</literal> directory of any server profiles that use JBoss 
+	    Messaging. If you are using JBoss Messaging from a standalone client also make sure this jar is on your
+            classpath *before* jbossall-client.jar.
+           </note>
           </para>
         </listitem>
 
-        <para>You should also make these changes on any configuration you
-        choose, to remove all references to the old JBossMQ:</para>
-
         <listitem>
           <para>Edit <literal>$JBOSS_CONFIG/deploy/jms-ds.xml</literal> and
           replace jboss.mq by jboss.messaging on every occurrence</para>
@@ -903,7 +901,7 @@
   </section>
 
   <section id="inst.remoteclient">
-    <title>Accessing JBoss Messaging from a remote client</title>
+    <title>Accessing JBoss Messaging from a remote client - JBoss 4.2 and EAP 4.3</title>
 
     <para>In order to access JBoss Messaging from a client outside the JBoss
     app server, you will need to ensure the following jar files are on the
@@ -912,13 +910,11 @@
     <itemizedlist>
       <listitem>
         <para><note>
-             JBoss Messaging 1.4.0 requires a patched version of jboss-remoting.jar. The version is JBoss Remoting 2.2.2.SP10-brew. This version is available on JBoss EAP 4.3, so if you're using a different version you should download it. The patched jar can be found 
-
-            <ulink
-            url="http://repository.jboss.com/jboss/remoting/2.2.2.SP10-brew/lib/">here</ulink>
-
-             . Please download it and make sure this jar is on your classpath *before* jbossall-client.jar. 
-          </note></para>
+        JBoss Messaging 1.4 requires a patched version of jboss-remoting.jar. The version is JBoss Remoting
+        2.2.2.SP11-brew. This version is available on JBoss EAP 4.3, so if you're using a different version you
+        should download it. The patched jar can be found at <ulink url="http://repository.jboss.com/jboss/remoting/2.2.2.SP11-brew/lib/">here</ulink>.
+	Please download it and make sure this jar is on your classpath *before* jbossall-client.jar.
+	</note></para>
       </listitem>
 
       <listitem>
@@ -934,7 +930,7 @@
       <listitem>
         <para>$JBOSS_HOME/server/&lt;SERVER_NAME&gt;/deploy/jboss-aop.deployer/jboss-aop.jar</para>
 
-        <para>JBoss AOP 1.5.5.GA_CP03</para>
+        <para>JBoss AOP 1.5.5.GA_CP03-brew</para>
 
 	<para><ulink  url="http://repository.jboss.com/jboss/aop/1.5.5.GA_CP03-brew/lib/">http://repository.jboss.com/jboss/aop/1.5.5.GA_CP03-brew/lib/</ulink></para>
 
@@ -945,7 +941,7 @@
       <listitem>
         <para>$JBOSS_HOME/server/&lt;SERVER_NAME&gt;/lib/javassist.jar</para>
 
-        <para>Javassist 3.8.0.GA-brew</para>
+        <para>Javassist 3.8.0.GA</para>
 
         <para><ulink
 		    url="http://repository.jboss.com/javassist/3.8.0.GA-brew/lib/">http://repository.jboss.com/javassist/3.8.0.GA-brew/lib/</ulink></para>
@@ -1217,4 +1213,4 @@
     setting the subscription name and client id. You can see these arguments
     in the JBM Bridge chapter.</para>
   </section>
-</chapter>
\ No newline at end of file
+</chapter>

Modified: branches/Branch_JBMESSAGING_1416/docs/userguide/en/modules/runningexamples.xml
===================================================================
--- branches/Branch_JBMESSAGING_1416/docs/userguide/en/modules/runningexamples.xml	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/docs/userguide/en/modules/runningexamples.xml	2009-02-02 10:42:54 UTC (rev 5773)
@@ -3,8 +3,12 @@
   <title>Running the Examples</title>
 
   <para>In the directory <literal>docs/examples</literal>, you will find a set
-  of examples demonstrating JBoss Messaging working in various examples, they
-  include: <itemizedlist>
+  of examples demonstrating JBoss Messaging working in various examples</para>
+
+  <para>Before running these examples, you must deploy the example-destinations located under /docs/examples/destinations</para>
+
+  <para>Examples list:
+  <itemizedlist>
       <listitem>
         <para>docs/example/queue</para>
 

Modified: branches/Branch_JBMESSAGING_1416/integration/AS5/etc/remoting/remoting-sslbisocket-service.xml
===================================================================
--- branches/Branch_JBMESSAGING_1416/integration/AS5/etc/remoting/remoting-sslbisocket-service.xml	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/integration/AS5/etc/remoting/remoting-sslbisocket-service.xml	2009-02-02 10:42:54 UTC (rev 5773)
@@ -23,7 +23,7 @@
                <attribute name="dataType" isParam="true">jms</attribute>
                <attribute name="socket.check_connection" isParam="true">false</attribute>              
                <attribute name="serverBindAddress">${jboss.bind.address}</attribute>
-               <attribute name="serverBindPort">5457</attribute>               
+               <attribute name="serverBindPort">4459</attribute>               
                <attribute name="clientSocketClass" isParam="true">org.jboss.jms.client.remoting.ClientSocketWrapper</attribute>
                <attribute name="serverSocketClass">org.jboss.jms.server.remoting.ServerSocketWrapper</attribute>
                <attribute name="serverSocketFactory">jboss.messaging:service=ServerSocketFactory,type=SSL</attribute>
@@ -102,7 +102,7 @@
       -->
       <attribute name="UseSSLServerSocketFactory">false</attribute>
       <!-- This is the url string to the key store to use -->
-      <attribute name="KeyStoreURL">messaging.keystore</attribute>
+      <attribute name="KeyStoreURL">${jboss.server.home.url}/deploy/messaging/messaging.keystore</attribute>
       <!-- The password for the key store -->
       <attribute name="KeyStorePassword">secureexample</attribute>
       <!-- The password for the keys (will use KeystorePassword if this is not set explicitly. -->

Modified: branches/Branch_JBMESSAGING_1416/integration/AS5/etc/server/default/deploy/db2-persistence-service.xml
===================================================================
--- branches/Branch_JBMESSAGING_1416/integration/AS5/etc/server/default/deploy/db2-persistence-service.xml	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/integration/AS5/etc/server/default/deploy/db2-persistence-service.xml	2009-02-02 10:42:54 UTC (rev 5773)
@@ -150,7 +150,7 @@
       
       <attribute name="FailoverOnNodeLeave">false</attribute>
       
-      <depends optional-attribute-name="ChannelFactoryName">jboss.jgroups:service=ChannelFactory</depends>
+      <attribute name="ChannelFactoryName">jboss.jgroups:service=ChannelFactory</attribute>
       <attribute name="ControlChannelName">jbm-control</attribute>
       <attribute name="DataChannelName">jbm-data</attribute>
       <attribute name="ChannelPartitionName">${jboss.partition.name:DefaultPartition}-JMS</attribute>

Modified: branches/Branch_JBMESSAGING_1416/integration/AS5/etc/server/default/deploy/mssql-persistence-service.xml
===================================================================
--- branches/Branch_JBMESSAGING_1416/integration/AS5/etc/server/default/deploy/mssql-persistence-service.xml	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/integration/AS5/etc/server/default/deploy/mssql-persistence-service.xml	2009-02-02 10:42:54 UTC (rev 5773)
@@ -146,7 +146,7 @@
       
       <attribute name="FailoverOnNodeLeave">false</attribute>
       
-      <depends optional-attribute-name="ChannelFactoryName">jboss.jgroups:service=ChannelFactory</depends>
+      <attribute name="ChannelFactoryName">jboss.jgroups:service=ChannelFactory</attribute>
       <attribute name="ControlChannelName">jbm-control</attribute>
       <attribute name="DataChannelName">jbm-data</attribute>
       <attribute name="ChannelPartitionName">${jboss.partition.name:DefaultPartition}-JMS</attribute>

Modified: branches/Branch_JBMESSAGING_1416/integration/AS5/etc/server/default/deploy/mysql-persistence-service.xml
===================================================================
--- branches/Branch_JBMESSAGING_1416/integration/AS5/etc/server/default/deploy/mysql-persistence-service.xml	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/integration/AS5/etc/server/default/deploy/mysql-persistence-service.xml	2009-02-02 10:42:54 UTC (rev 5773)
@@ -146,7 +146,7 @@
       
       <attribute name="FailoverOnNodeLeave">false</attribute>
 
-      <depends optional-attribute-name="ChannelFactoryName">jboss.jgroups:service=ChannelFactory</depends>
+      <attribute name="ChannelFactoryName">jboss.jgroups:service=ChannelFactory</attribute>
       <attribute name="ControlChannelName">jbm-control</attribute>
       <attribute name="DataChannelName">jbm-data</attribute>
       <attribute name="ChannelPartitionName">${jboss.partition.name:DefaultPartition}-JMS</attribute>

Modified: branches/Branch_JBMESSAGING_1416/integration/AS5/etc/server/default/deploy/ndb-persistence-service.xml
===================================================================
--- branches/Branch_JBMESSAGING_1416/integration/AS5/etc/server/default/deploy/ndb-persistence-service.xml	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/integration/AS5/etc/server/default/deploy/ndb-persistence-service.xml	2009-02-02 10:42:54 UTC (rev 5773)
@@ -148,7 +148,7 @@
 
       <attribute name="FailoverOnNodeLeave">false</attribute>
 
-      <depends optional-attribute-name="ChannelFactoryName">jboss.jgroups:service=ChannelFactory</depends>
+      <attribute name="ChannelFactoryName">jboss.jgroups:service=ChannelFactory</attribute>
       <attribute name="ControlChannelName">jbm-control</attribute>
       <attribute name="DataChannelName">jbm-data</attribute>
       <attribute name="ChannelPartitionName">${jboss.partition.name:DefaultPartition}-JMS</attribute>

Modified: branches/Branch_JBMESSAGING_1416/integration/AS5/etc/server/default/deploy/null-persistence-service.xml
===================================================================
--- branches/Branch_JBMESSAGING_1416/integration/AS5/etc/server/default/deploy/null-persistence-service.xml	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/integration/AS5/etc/server/default/deploy/null-persistence-service.xml	2009-02-02 10:42:54 UTC (rev 5773)
@@ -53,7 +53,7 @@
       
       <attribute name="FailoverOnNodeLeave">false</attribute>
       
-      <depends optional-attribute-name="ChannelFactoryName">jboss.jgroups:service=ChannelFactory</depends>
+      <attribute name="ChannelFactoryName">jboss.jgroups:service=ChannelFactory</attribute>
       <attribute name="ControlChannelName">jbm-control</attribute>
       <attribute name="DataChannelName">jbm-data</attribute>
       <attribute name="ChannelPartitionName">${jboss.partition.name:DefaultPartition}-JMS</attribute>

Modified: branches/Branch_JBMESSAGING_1416/integration/AS5/etc/server/default/deploy/oracle-persistence-service.xml
===================================================================
--- branches/Branch_JBMESSAGING_1416/integration/AS5/etc/server/default/deploy/oracle-persistence-service.xml	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/integration/AS5/etc/server/default/deploy/oracle-persistence-service.xml	2009-02-02 10:42:54 UTC (rev 5773)
@@ -150,7 +150,7 @@
       
       <attribute name="FailoverOnNodeLeave">false</attribute>
       
-      <depends optional-attribute-name="ChannelFactoryName">jboss.jgroups:service=ChannelFactory</depends>
+      <attribute name="ChannelFactoryName">jboss.jgroups:service=ChannelFactory</attribute>
       <attribute name="ControlChannelName">jbm-control</attribute>
       <attribute name="DataChannelName">jbm-data</attribute>
       <attribute name="ChannelPartitionName">${jboss.partition.name:DefaultPartition}-JMS</attribute>

Modified: branches/Branch_JBMESSAGING_1416/integration/AS5/etc/server/default/deploy/postgresql-persistence-service.xml
===================================================================
--- branches/Branch_JBMESSAGING_1416/integration/AS5/etc/server/default/deploy/postgresql-persistence-service.xml	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/integration/AS5/etc/server/default/deploy/postgresql-persistence-service.xml	2009-02-02 10:42:54 UTC (rev 5773)
@@ -146,7 +146,7 @@
       
       <attribute name="FailoverOnNodeLeave">false</attribute>
 
-      <depends optional-attribute-name="ChannelFactoryName">jboss.jgroups:service=ChannelFactory</depends>
+      <attribute name="ChannelFactoryName">jboss.jgroups:service=ChannelFactory</attribute>
       <attribute name="ControlChannelName">jbm-control</attribute>
       <attribute name="DataChannelName">jbm-data</attribute>
       <attribute name="ChannelPartitionName">${jboss.partition.name:DefaultPartition}-JMS</attribute>

Modified: branches/Branch_JBMESSAGING_1416/integration/AS5/etc/server/default/deploy/sybase-persistence-service.xml
===================================================================
--- branches/Branch_JBMESSAGING_1416/integration/AS5/etc/server/default/deploy/sybase-persistence-service.xml	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/integration/AS5/etc/server/default/deploy/sybase-persistence-service.xml	2009-02-02 10:42:54 UTC (rev 5773)
@@ -151,7 +151,7 @@
       
       <attribute name="FailoverOnNodeLeave">false</attribute>
       
-      <depends optional-attribute-name="ChannelFactoryName">jboss.jgroups:service=ChannelFactory</depends>
+      <attribute name="ChannelFactoryName">jboss.jgroups:service=ChannelFactory</attribute>
       <attribute name="ControlChannelName">jbm-control</attribute>
       <attribute name="DataChannelName">jbm-data</attribute>
       <attribute name="ChannelPartitionName">${jboss.partition.name:DefaultPartition}-JMS</attribute>

Copied: branches/Branch_JBMESSAGING_1416/integration/EAP4/etc/remoting/remoting-servlet-service.xml (from rev 5772, branches/Branch_1_4/integration/EAP4/etc/remoting/remoting-servlet-service.xml)
===================================================================
--- branches/Branch_JBMESSAGING_1416/integration/EAP4/etc/remoting/remoting-servlet-service.xml	                        (rev 0)
+++ branches/Branch_JBMESSAGING_1416/integration/EAP4/etc/remoting/remoting-servlet-service.xml	2009-02-02 10:42:54 UTC (rev 5773)
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+     Servlet-based Remoting service deployment descriptor.
+
+ -->
+
+<server>
+   <mbean code="org.jboss.remoting.transport.Connector"
+          name="jboss.remoting:service=Connector,transport=servlet,target=jms"
+          display-name="JMS Servlet transport Connector">
+      <attribute name="Configuration">
+         <config>
+            <invoker transport="servlet">
+               <!-- There should be no reason to change these parameters - warning!
+                    Changing them may stop JBoss Messaging working correctly -->
+               <attribute name="marshaller" isParam="true">org.jboss.jms.wireformat.JMSWireFormat</attribute>
+               <attribute name="unmarshaller" isParam="true">org.jboss.jms.wireformat.JMSWireFormat</attribute>               
+               <attribute name="dataType" isParam="true">jms</attribute>
+               <attribute name="serverBindAddress">${jboss.bind.address}</attribute>
+               <attribute name="serverBindPort">8080</attribute>
+               <attribute name="numberOfCallRetries" isParam="true">1</attribute>
+               <attribute name="pingFrequency" isParam="true">214748364</attribute>
+               <attribute name="pingWindowFactor" isParam="true">10</attribute>
+               <attribute name="onewayThreadPool">org.jboss.jms.server.remoting.DirectThreadPool</attribute> 
+               <attribute name="callbackStore">org.jboss.remoting.callback.BlockingCallbackStore</attribute>
+               <attribute name="unwrapSingletonArrays">true</attribute>
+               <attribute name="path">servlet-invoker/JmsServerInvokerServlet</attribute>
+               <attribute name="return-exception">true</attribute>
+               <attribute name="createUniqueObjectName">true</attribute>
+               <attribute name="useAllParams" isParam="true">true</attribute>
+               <!-- End immutable parameters -->
+                                         
+               <attribute name="stopLeaseOnFailure" isParam="true">true</attribute>
+               
+               <!-- Periodicity of client pings. Server window by default is twice this figure -->                               
+               <attribute name="clientLeasePeriod" isParam="true">10000</attribute>
+               <attribute name="validatorPingPeriod" isParam="true">10000</attribute>
+               <attribute name="validatorPingTimeout" isParam="true">5000</attribute>
+               <attribute name="registerCallbackListener">false</attribute>
+	       	       
+	           <attribute name="timeout" isParam="true">0</attribute>
+                      
+               <!-- Set this to true if you want the servlet transport to block waiting for server->client traffic.
+               Or false if you want it to poll for new traffic periodically. Recommended is blocking -->                       
+               <attribute name="blockingMode" isParam="true">blocking</attribute>
+               
+               <!-- Timeout for blocking. Only has relevance if blockingMode = blocking -->
+               <attribute name="blockingTimeout" isParam="true">30000</attribute>
+                
+               <!-- The periodicity of polling. Only has relevance if blockingMode = nonblocking -->               
+               <!--attribute name="callbackPollPeriod" isParam="true">10000</attribute-->  
+            </invoker>
+            <handlers>
+               <handler subsystem="JMS">org.jboss.jms.server.remoting.JMSServerInvocationHandler</handler>
+            </handlers>
+         </config>
+      </attribute>
+   </mbean>
+
+</server>

Copied: branches/Branch_JBMESSAGING_1416/integration/EAP4/etc/remoting/servlet-invoker.war (from rev 5772, branches/Branch_1_4/integration/EAP4/etc/remoting/servlet-invoker.war)

Copied: branches/Branch_JBMESSAGING_1416/integration/EAP4/etc/remoting/servlet-invoker.war/WEB-INF (from rev 5772, branches/Branch_1_4/integration/EAP4/etc/remoting/servlet-invoker.war/WEB-INF)

Deleted: branches/Branch_JBMESSAGING_1416/integration/EAP4/etc/remoting/servlet-invoker.war/WEB-INF/web.xml
===================================================================
--- branches/Branch_1_4/integration/EAP4/etc/remoting/servlet-invoker.war/WEB-INF/web.xml	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/integration/EAP4/etc/remoting/servlet-invoker.war/WEB-INF/web.xml	2009-02-02 10:42:54 UTC (rev 5773)
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE web-app PUBLIC
-   "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
-   "http://java.sun.com/dtd/web-app_2_3.dtd">
-
-<!-- The the JBossRemoting server invoker servlet web.xml descriptor
-$Id: web.xml,v 1.2 2006/07/17 03:44:00 telrod Exp $
--->
-<web-app>
-  
-  <servlet>
-    <servlet-name>JmsServerInvokerServlet</servlet-name>
-    <description>The JmsServerInvokerServlet receives JMS requests via HTTP
-      protocol from within a web container and passes it onto the
-      ServletServerInvoker for processing.
-    </description>
-    <servlet-class>org.jboss.remoting.transport.servlet.web.ServerInvokerServlet</servlet-class>
-    <init-param>
-      <param-name>locatorUrl</param-name>
-      <param-value>
-        <![CDATA[servlet://${jboss.bind.address}:8080/servlet-invoker/JmsServerInvokerServlet/?dataType=jms&marshaller=org.jboss.jms.wireformat.JMSWireFormat&unmarshaller=org.jboss.jms.wireformat.JMSWireFormat&numberOfCallRetries=1&pingFrequency=214748364&pingWindowFactor=10&stopLeaseOnFailure=true&clientLeasePeriod=10000&validatorPingPeriod=10000&validatorPingTimeout=5000&timeout=0&blockingMode=blocking&blockingTimeout=30000&useAllParams=true]]>
-      </param-value>
-      <description>The servlet server invoker</description>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-    
-  <servlet-mapping>
-    <servlet-name>JmsServerInvokerServlet</servlet-name>
-    <url-pattern>/JmsServerInvokerServlet/*</url-pattern>
-  </servlet-mapping>
-
-</web-app>
-

Copied: branches/Branch_JBMESSAGING_1416/integration/EAP4/etc/remoting/servlet-invoker.war/WEB-INF/web.xml (from rev 5772, branches/Branch_1_4/integration/EAP4/etc/remoting/servlet-invoker.war/WEB-INF/web.xml)
===================================================================
--- branches/Branch_JBMESSAGING_1416/integration/EAP4/etc/remoting/servlet-invoker.war/WEB-INF/web.xml	                        (rev 0)
+++ branches/Branch_JBMESSAGING_1416/integration/EAP4/etc/remoting/servlet-invoker.war/WEB-INF/web.xml	2009-02-02 10:42:54 UTC (rev 5773)
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE web-app PUBLIC
+   "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
+   "http://java.sun.com/dtd/web-app_2_3.dtd">
+
+<!-- The the JBossRemoting server invoker servlet web.xml descriptor
+$Id: web.xml,v 1.2 2006/07/17 03:44:00 telrod Exp $
+-->
+<web-app>
+  
+  <servlet>
+    <servlet-name>JmsServerInvokerServlet</servlet-name>
+    <description>The JmsServerInvokerServlet receives JMS requests via HTTP
+      protocol from within a web container and passes it onto the
+      ServletServerInvoker for processing.
+    </description>
+    <servlet-class>org.jboss.remoting.transport.servlet.web.ServerInvokerServlet</servlet-class>
+    <init-param>
+      <param-name>locatorUrl</param-name>
+      <param-value>
+        <![CDATA[servlet://${jboss.bind.address}:8080/servlet-invoker/JmsServerInvokerServlet/?dataType=jms&marshaller=org.jboss.jms.wireformat.JMSWireFormat&unmarshaller=org.jboss.jms.wireformat.JMSWireFormat&numberOfCallRetries=1&pingFrequency=214748364&pingWindowFactor=10&stopLeaseOnFailure=true&clientLeasePeriod=10000&validatorPingPeriod=10000&validatorPingTimeout=5000&timeout=0&blockingMode=blocking&blockingTimeout=30000&useAllParams=true]]>
+      </param-value>
+      <description>The servlet server invoker</description>
+    </init-param>
+    <load-on-startup>1</load-on-startup>
+  </servlet>
+    
+  <servlet-mapping>
+    <servlet-name>JmsServerInvokerServlet</servlet-name>
+    <url-pattern>/JmsServerInvokerServlet/*</url-pattern>
+  </servlet-mapping>
+
+</web-app>
+

Modified: branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/client/ClientAOPStackLoader.java
===================================================================
--- branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/client/ClientAOPStackLoader.java	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/client/ClientAOPStackLoader.java	2009-02-02 10:42:54 UTC (rev 5773)
@@ -64,13 +64,13 @@
          return;
       }
 
-      ClassLoader savedLoader = Thread.currentThread().getContextClassLoader();
+      ClassLoader savedLoader = SecurityActions.getTCL();
 
       try
       {
          // This was done because of some weird behavior of AOP & classLoading
          // http://jira.jboss.org/jira/browse/JBMESSAGING-980
-         Thread.currentThread().setContextClassLoader(this.getClass().getClassLoader());
+         SecurityActions.setTCL(this.getClass().getClassLoader());
 
          byte[] clientAOPStack = delegate.getClientAOPStack();
 
@@ -80,7 +80,7 @@
       }
       finally
       {
-         Thread.currentThread().setContextClassLoader(savedLoader);
+         SecurityActions.setTCL(savedLoader);
       }
    }
 

Copied: branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/client/SecurityActions.java (from rev 5772, branches/Branch_1_4/src/main/org/jboss/jms/client/SecurityActions.java)
===================================================================
--- branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/client/SecurityActions.java	                        (rev 0)
+++ branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/client/SecurityActions.java	2009-02-02 10:42:54 UTC (rev 5773)
@@ -0,0 +1,98 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005-2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+
+package org.jboss.jms.client;
+
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+
+/**
+ * A SecurityActions
+ *
+ * SecurityActions need to be on each package because of configuration issues on the Security Manager
+ * 
+ * @author <a href="mailto:clebert.suconic at jboss.org">Clebert Suconic</a>
+ * 
+ * Created Nov 14, 2008 1:50:58 PM
+ *
+ *
+ */
+class SecurityActions
+{
+
+   // Constants -----------------------------------------------------
+
+   // Attributes ----------------------------------------------------
+
+   // Static --------------------------------------------------------
+
+   // Constructors --------------------------------------------------
+
+   // Public --------------------------------------------------------
+
+   // Package protected ---------------------------------------------
+   
+   static ClassLoader getTCL()
+   {
+      if (System.getSecurityManager() != null)
+      {
+         return Thread.currentThread().getContextClassLoader();
+      }
+      else
+      {
+         return AccessController.doPrivileged(new PrivilegedAction<ClassLoader>()
+                                              {
+                                                 public ClassLoader run()
+                                                 {
+                                                    return Thread.currentThread().getContextClassLoader();
+                                                 }
+                                              });
+      }
+   }
+
+   static void setTCL(final ClassLoader tcl)
+   {
+      if (System.getSecurityManager() != null)
+      {
+         Thread.currentThread().setContextClassLoader(tcl);
+      }
+      else
+      {
+         AccessController.doPrivileged(new PrivilegedAction<Object>()
+                                       {
+                                          public Object run()
+                                          {
+                                             Thread.currentThread().setContextClassLoader(tcl);
+                                             return null;
+                                          }
+                                       });
+      }
+   }
+
+   // Protected -----------------------------------------------------
+
+   // Private -------------------------------------------------------
+
+   // Inner classes -------------------------------------------------
+
+}

Modified: branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/client/container/ClientConsumer.java
===================================================================
--- branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/client/container/ClientConsumer.java	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/client/container/ClientConsumer.java	2009-02-02 10:42:54 UTC (rev 5773)
@@ -61,8 +61,10 @@
    
    // Static ---------------------------------------------------------------------------------------
    
-   private static boolean trace;      
+   private static boolean trace;
    
+   private static boolean debug;
+   
    private static final int WAIT_TIMEOUT = 30000;
    
    
@@ -70,6 +72,7 @@
    {
       log = Logger.getLogger(ClientConsumer.class);
       trace = log.isTraceEnabled();
+      debug = log.isDebugEnabled();
    }
    
    private static boolean checkExpiredOrReachedMaxdeliveries(MessageProxy proxy,
@@ -84,17 +87,14 @@
       
       if (expired || reachedMaxDeliveries)
       {
-         if (trace)
+         if (expired)
          {
-            if (expired)
-            {
-               log.trace(proxy.getMessage() + " has expired, cancelling to server");
-            }
-            else
-            {
-               log.trace(proxy.getMessage() + " has reached maximum delivery number " + maxDeliveries +", cancelling to server");
-            }
+            if (debug) { log.debug(proxy.getMessage() + " has expired, cancelling to server"); }
          }
+         else
+         {
+            if (debug) { log.debug(proxy.getMessage() + " has reached maximum delivery number " + maxDeliveries +", cancelling to server"); }
+         }
          
          if (shouldCancel)
          {	         

Modified: branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/client/remoting/JMSRemotingConnection.java
===================================================================
--- branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/client/remoting/JMSRemotingConnection.java	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/client/remoting/JMSRemotingConnection.java	2009-02-02 10:42:54 UTC (rev 5773)
@@ -489,7 +489,7 @@
    }
 
    /**
-    * @return true if the listener was correctly installed, or false if the add attepmt was ignored
+    * @return true if the listener was correctly installed, or false if the add attempt was ignored
     *         because there is already another listener installed.
     */
    public synchronized boolean addConnectionListener(ConsolidatedRemotingConnectionListener listener)
@@ -499,7 +499,7 @@
          return false;
       }
 
-      client.addConnectionListener(listener);
+      client.addConnectionListener(listener, serverLocator.getParameters());
       remotingConnectionListener = listener;
 
       return true;
@@ -507,7 +507,7 @@
 
    public synchronized void addPlainConnectionListener(ConnectionListener listener)
    {
-      client.addConnectionListener(listener);
+      client.addConnectionListener(listener, serverLocator.getParameters());
    }
 
    public synchronized void removePlainConnectionListener(ConnectionListener listener)

Modified: branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/server/bridge/Bridge.java
===================================================================
--- branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/server/bridge/Bridge.java	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/server/bridge/Bridge.java	2009-02-02 10:42:54 UTC (rev 5773)
@@ -26,6 +26,7 @@
 import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.Map;
+import java.util.Properties;
 
 import javax.jms.Connection;
 import javax.jms.ConnectionFactory;
@@ -58,6 +59,7 @@
  * A Bridge
  *
  * @author <a href="mailto:tim.fox at jboss.com">Tim Fox</a>
+ * @author <a href="mailto:hgao at redhat.com">Howard Gao</a>
  * @version <tt>$Revision$</tt>
  *
  * $Id$
@@ -164,14 +166,30 @@
    
    private volatile boolean addMessageIDInHeader;
    
-      
-   
    private boolean started;
    
    private LinkedList<Message> messages;
    
    private Object lock;
    
+   private String sourceCffName;
+   
+   private String targetCffName;
+   
+   private Properties sourceProviderProperties;
+   
+   private Properties targetProviderProperties;
+
+   private String sourceDestName;
+   
+   private String targetDestName;
+   
+   private boolean isSameSourceAndTarget;
+   
+   private String queueCffName;
+   
+   private String topicCffName;
+   
    private ConnectionFactoryFactory sourceCff;
    
    private ConnectionFactoryFactory targetCff;
@@ -220,14 +238,14 @@
     * Constructor for MBean
     */
    public Bridge()
-   {      
+   {
       this.messages = new LinkedList<Message>();      
       
-      this.lock = new Object();      
+      this.lock = new Object();
    }
    
-   public Bridge(ConnectionFactoryFactory sourceCff, ConnectionFactoryFactory destCff,
-                 DestinationFactory sourceDestinationFactory, DestinationFactory targetDestinationFactory,         
+   public Bridge(boolean sameSourceNTarget, Properties srcProps, Properties tarProps,
+                 String srcDestName, String tarDestName, String qCffName, String tCffName,
                  String sourceUsername, String sourcePassword,
                  String targetUsername, String targetPassword,
                  String selector, long failureRetryInterval,
@@ -236,41 +254,28 @@
                  int maxBatchSize, long maxBatchTime,
                  String subName, String clientID,
                  boolean addMessageIDInHeader)
-   {            
+   {
       this();
       
-      this.sourceCff = sourceCff;
-      
-      this.targetCff = destCff;
-      
-      this.sourceDestinationFactory = sourceDestinationFactory;
-      
-      this.targetDestinationFactory = targetDestinationFactory;
-      
+      this.isSameSourceAndTarget = sameSourceNTarget;
+      this.sourceProviderProperties = srcProps;
+      this.targetProviderProperties = tarProps;
+      this.sourceDestName = srcDestName;
+      this.targetDestName = tarDestName;
+      this.queueCffName = qCffName;
+      this.topicCffName = tCffName;
       this.sourceUsername = sourceUsername;
-      
       this.sourcePassword = sourcePassword;
-      
       this.targetUsername = targetUsername;
-      
       this.targetPassword = targetPassword;
-      
       this.selector = selector;
-      
       this.failureRetryInterval = failureRetryInterval;
-      
       this.maxRetries = maxRetries;
-      
       this.qualityOfServiceMode = qosMode;
-      
       this.maxBatchSize = maxBatchSize;
-      
       this.maxBatchTime = maxBatchTime;
-      
       this.subName = subName;
-      
       this.clientID = clientID;
-      
       this.addMessageIDInHeader = addMessageIDInHeader;
       
       this.name = "Bridge-" + System.identityHashCode(this);
@@ -280,7 +285,6 @@
          log.trace("Created " + this);
       }
    }
-   
       
    // MessagingComponent overrides --------------------------------------------------
         
@@ -703,46 +707,55 @@
       return started;
    }
    
-   public synchronized void setSourceConnectionFactoryFactory(ConnectionFactoryFactory cff)
+   public void setSourceCFFName(String name)
    {
-      if (started)
-      {
-         log.warn(name + " Cannot set SourceConnectionFactoryFactory while bridge is started");
-         return;
-      }
-      this.sourceCff = cff;
+      sourceCffName = name;
    }
    
-   public synchronized void setDestConnectionFactoryFactory(ConnectionFactoryFactory cff)
+   public void setTargetCFFName(String name)
    {
-      if (started)
-      {
-         log.warn(name + " Cannot set DestConnectionFactoryFactory while bridge is started");
-         return;
-      }
-      this.targetCff = cff;
+      targetCffName = name;
    }
+
+   public void setSourceProps(Properties sourceProps)
+   {
+      sourceProviderProperties = sourceProps;
+   }
+
+   public void setTargetProps(Properties targetProps)
+   {
+      targetProviderProperties = targetProps;
+   }
+
+   public void setSourceDestinationName(String sourceDestinationLookup)
+   {
+      sourceDestName = sourceDestinationLookup;
+   }
+
+   public void setTargetDestinationName(String targetDestinationLookup)
+   {
+      targetDestName = targetDestinationLookup;
+   }
+
+   public void setIsSameSourceAndTarget(boolean sameSourceAndTarget)
+   {
+      isSameSourceAndTarget = sameSourceAndTarget;
+   }
+
+   public void setQueueCffName(String name)
+   {
+      queueCffName = name;
+   }   
+
+   public void setTopicCffName(String name)
+   {
+      topicCffName = name;
+   }   
    
    // Private -------------------------------------------------------------------
    
    private void checkParams()
    {
-      if (sourceCff == null)
-      {
-         throw new IllegalArgumentException("sourceCff cannot be null");
-      }
-      if (targetCff == null)
-      {
-         throw new IllegalArgumentException("targetCff cannot be null");
-      }
-      if (sourceDestinationFactory == null)
-      {
-         throw new IllegalArgumentException("sourceDestinationFactory cannot be null");
-      }
-      if (targetDestinationFactory == null)
-      {
-         throw new IllegalArgumentException("targetDestinationFactory cannot be null");
-      }
       if (failureRetryInterval < 0 && failureRetryInterval != -1)
       {
          throw new IllegalArgumentException("failureRetryInterval must be > 0 or -1 to represent no retry");
@@ -919,9 +932,41 @@
       try
       {  
       	//Lookup the destinations
-      	sourceDestination = sourceDestinationFactory.createDestination();
+         sourceDestinationFactory = new JNDIDestinationFactory(sourceProviderProperties, sourceDestName);
+         sourceDestination = sourceDestinationFactory.createDestination();
       	
-      	targetDestination = targetDestinationFactory.createDestination();
+         targetDestinationFactory = new JNDIDestinationFactory(targetProviderProperties, targetDestName);
+         targetDestination = targetDestinationFactory.createDestination();
+         
+         //factories
+         if(sourceDestination instanceof Topic)
+         {
+            sourceCffName = topicCffName;
+         }
+         else
+         {
+            sourceCffName = queueCffName;
+         }
+         
+         sourceCff = new JNDIConnectionFactoryFactory(sourceProviderProperties, sourceCffName);
+
+         if (isSameSourceAndTarget)
+         {
+            targetCff = sourceCff;
+         }
+         else
+         {
+            if(targetDestination instanceof Topic)
+            {
+               targetCffName = topicCffName;
+            }
+            else
+            {
+               targetCffName = queueCffName;
+            }
+            
+            targetCff = new JNDIConnectionFactoryFactory(targetProviderProperties, targetCffName);
+         }
       	      
          if (sourceCff == targetCff)
          {
@@ -946,11 +991,6 @@
          	}
          }
          
-      	//Lookup the destinations
-      	sourceDestination = sourceDestinationFactory.createDestination();
-      	
-      	targetDestination = targetDestinationFactory.createDestination();      	      
-         
          sourceConn = createConnection(sourceUsername, sourcePassword, sourceCff);
          
          if (forwardMode != FORWARD_MODE_LOCALTX)
@@ -1661,5 +1701,6 @@
 			   }
 			}
 		}   	
-   }   
+   }
+
 }

Modified: branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/server/bridge/BridgeService.java
===================================================================
--- branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/server/bridge/BridgeService.java	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/server/bridge/BridgeService.java	2009-02-02 10:42:54 UTC (rev 5773)
@@ -317,53 +317,16 @@
       
       Properties targetProps = (Properties)server.getAttribute(targetProviderLoader, "Properties");
       
-      // JBMESSAGING-1183: set the factory refs according to the destinations types
-      Context icSource = new InitialContext(sourceProps);      
-      Context icTarget = new InitialContext(targetProps);
-      Destination sourceDest = (Destination)icSource.lookup(sourceDestinationLookup);
-      Destination targetDest = (Destination)icTarget.lookup(targetDestinationLookup);
-      String sourceFactoryRef = "QueueFactoryRef";
-      if(sourceDest instanceof Topic)
-      {
-         sourceFactoryRef = "TopicFactoryRef";
-      }
-      String targetFactoryRef = "QueueFactoryRef";
-      if(targetDest instanceof Topic)
-      {
-         targetFactoryRef = "TopicFactoryRef";
-      }
-
-      String sourceCFRef = (String)server.getAttribute(sourceProviderLoader, sourceFactoryRef);
+      String queueCffName = (String)server.getAttribute(getSourceProviderLoader(), "QueueFactoryRef");      
+      String topicCffName = (String)server.getAttribute(getSourceProviderLoader(), "TopicFactoryRef"); 
       
-      String targetCFRef = (String)server.getAttribute(targetProviderLoader, targetFactoryRef);
-      
-      ConnectionFactoryFactory sourceCff =
-         new JNDIConnectionFactoryFactory(sourceProps, sourceCFRef);
-      
-      ConnectionFactoryFactory destCff;
-      
-      if (sameSourceAndTarget)
-      {
-      	destCff = sourceCff;
-      }
-      else
-      {      
-      	destCff= new JNDIConnectionFactoryFactory(targetProps, targetCFRef);
-      }
-      
-      bridge.setName(serviceName.getCanonicalName());
-      
-      bridge.setSourceConnectionFactoryFactory(sourceCff);
-      
-      bridge.setDestConnectionFactoryFactory(destCff);
-      
-      DestinationFactory sourceDestinationFactory = new JNDIDestinationFactory(sourceProps, sourceDestinationLookup);
-      
-      DestinationFactory targetDestinationFactory = new JNDIDestinationFactory(targetProps, targetDestinationLookup);
-      
-      bridge.setSourceDestinationFactory(sourceDestinationFactory);
-      
-      bridge.setTargetDestinationFactory(targetDestinationFactory);
+      bridge.setIsSameSourceAndTarget(sameSourceAndTarget);
+      bridge.setSourceProps(sourceProps);
+      bridge.setTargetProps(targetProps);
+      bridge.setSourceDestinationName(sourceDestinationLookup);
+      bridge.setTargetDestinationName(targetDestinationLookup);
+      bridge.setQueueCffName(queueCffName);
+      bridge.setTopicCffName(topicCffName);
 
       bridge.start();      
       

Modified: branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/server/connectionfactory/ConnectionFactory.java
===================================================================
--- branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/server/connectionfactory/ConnectionFactory.java	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/server/connectionfactory/ConnectionFactory.java	2009-02-02 10:42:54 UTC (rev 5773)
@@ -21,6 +21,8 @@
 import org.jboss.system.ServiceMBeanSupport;
 import org.w3c.dom.Element;
 
+
+
 /**
  * A deployable JBoss Messaging connection factory.
  * 
@@ -394,7 +396,7 @@
       }
       
       //We don't use Class.forName() since then it won't work with scoped deployments
-      Class clz = Thread.currentThread().getContextClassLoader().loadClass(factoryName);
+      Class clz = SecurityActions.getTCL().loadClass(factoryName);
       
       loadBalancingFactory = (LoadBalancingFactory)clz.newInstance();
    }

Modified: branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/server/connectionfactory/ConnectionFactoryJNDIMapper.java
===================================================================
--- branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/server/connectionfactory/ConnectionFactoryJNDIMapper.java	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/server/connectionfactory/ConnectionFactoryJNDIMapper.java	2009-02-02 10:42:54 UTC (rev 5773)
@@ -164,13 +164,13 @@
 
       if (supportsFailover && replicator == null)
       {
-      	log.warn("supportsFailover attribute is true on connection factory: " + uniqueName + " but post office is non clustered. " +
+      	log.info("supportsFailover attribute is true on connection factory: " + uniqueName + " but post office is non clustered. " +
       			   "So connection factory will *not* support failover");
       }
 
       if (supportsLoadBalancing && replicator == null)
       {
-      	log.warn("supportsLoadBalancing attribute is true on connection factory: " + uniqueName + " but post office is non clustered. " +
+      	log.info("supportsLoadBalancing attribute is true on connection factory: " + uniqueName + " but post office is non clustered. " +
       			   "So connection factory will *not* support load balancing");
       }
 

Copied: branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/server/connectionfactory/SecurityActions.java (from rev 5772, branches/Branch_1_4/src/main/org/jboss/jms/server/connectionfactory/SecurityActions.java)
===================================================================
--- branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/server/connectionfactory/SecurityActions.java	                        (rev 0)
+++ branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/server/connectionfactory/SecurityActions.java	2009-02-02 10:42:54 UTC (rev 5773)
@@ -0,0 +1,118 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005-2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+
+package org.jboss.jms.server.connectionfactory;
+
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+
+/**
+ * A SecurityActions
+ *
+ * SecurityActions need to be on each package because of configuration issues on the Security Manager
+ * 
+ * @author <a href="mailto:clebert.suconic at jboss.org">Clebert Suconic</a>
+ * 
+ * Created Nov 14, 2008 1:50:58 PM
+ *
+ *
+ */
+class SecurityActions
+{
+
+   // Constants -----------------------------------------------------
+
+   // Attributes ----------------------------------------------------
+
+   // Static --------------------------------------------------------
+
+   // Constructors --------------------------------------------------
+
+   // Public --------------------------------------------------------
+
+   // Package protected ---------------------------------------------
+   
+   static ClassLoader getTCL()
+   {
+      if (System.getSecurityManager() != null)
+      {
+         return AccessController.doPrivileged(new PrivilegedAction<ClassLoader>()
+         {
+            public ClassLoader run()
+            {
+               return Thread.currentThread().getContextClassLoader();
+            }
+         });
+      }
+      else
+      {
+         return Thread.currentThread().getContextClassLoader();
+      }
+   }
+
+   static ClassLoader getClassLoader(final Class<?> clazz)
+   {
+      if (System.getSecurityManager() != null)
+      {
+         return AccessController.doPrivileged(new PrivilegedAction<ClassLoader>()
+         {
+            public ClassLoader run()
+            {
+               return clazz.getClassLoader();
+            }
+         });
+
+      }
+      else
+      {
+         return clazz.getClassLoader();
+      }
+
+   }
+
+   static void setTCL(final ClassLoader tcl)
+   {
+      if (System.getSecurityManager() != null)
+      {
+         AccessController.doPrivileged(new PrivilegedAction<Object>()
+         {
+            public Object run()
+            {
+               Thread.currentThread().setContextClassLoader(tcl);
+               return null;
+            }
+         });
+      }
+      else
+      {
+         Thread.currentThread().setContextClassLoader(tcl);
+      }
+   }
+
+   // Protected -----------------------------------------------------
+
+   // Private -------------------------------------------------------
+
+   // Inner classes -------------------------------------------------
+
+}

Modified: branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/server/endpoint/SecurityActions.java
===================================================================
--- branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/server/endpoint/SecurityActions.java	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/server/endpoint/SecurityActions.java	2009-02-02 10:42:54 UTC (rev 5773)
@@ -29,7 +29,6 @@
 
 import org.jboss.security.SecurityAssociation;
 
-
 /** A collection of privileged actions for this package
  * @author Scott.Stark at jboss.org
  * @author <a href="mailto:alex at jboss.org">Alexey Loubyansky</a>
@@ -43,45 +42,40 @@
    {
       PrincipalInfoAction PRIVILEGED = new PrincipalInfoAction()
       {
-         public void push(final Principal principal, final Object credential,
-            final Subject subject)
+         public void push(final Principal principal, final Object credential, final Subject subject)
          {
-            AccessController.doPrivileged(
-               new PrivilegedAction()
+            AccessController.doPrivileged(new PrivilegedAction<Object>()
+            {
+               public Object run()
                {
-                  public Object run()
-                  {
-                     SecurityAssociation.pushSubjectContext(subject, principal, credential);
-                     return null;
-                  }
+                  SecurityAssociation.pushSubjectContext(subject, principal, credential);
+                  return null;
                }
-            );
+            });
          }
+
          public void dup()
          {
-            AccessController.doPrivileged(
-               new PrivilegedAction()
+            AccessController.doPrivileged(new PrivilegedAction<Object>()
+            {
+               public Object run()
                {
-                  public Object run()
-                  {
-                     SecurityAssociation.dupSubjectContext();
-                     return null;
-                  }
+                  SecurityAssociation.dupSubjectContext();
+                  return null;
                }
-            );
+            });
          }
+
          public void pop()
          {
-            AccessController.doPrivileged(
-               new PrivilegedAction()
+            AccessController.doPrivileged(new PrivilegedAction<Object>()
+            {
+               public Object run()
                {
-                  public Object run()
-                  {
-                     SecurityAssociation.popSubjectContext();
-                     return null;
-                  }
+                  SecurityAssociation.popSubjectContext();
+                  return null;
                }
-            );
+            });
          }
       };
 
@@ -91,10 +85,12 @@
          {
             SecurityAssociation.pushSubjectContext(subject, principal, credential);
          }
+
          public void dup()
          {
             SecurityAssociation.dupSubjectContext();
          }
+
          public void pop()
          {
             SecurityAssociation.popSubjectContext();
@@ -102,14 +98,15 @@
       };
 
       void push(Principal principal, Object credential, Subject subject);
+
       void dup();
+
       void pop();
    }
 
-   static void pushSubjectContext(Principal principal, Object credential,
-      Subject subject)
+   static void pushSubjectContext(Principal principal, Object credential, Subject subject)
    {
-      if(System.getSecurityManager() == null)
+      if (System.getSecurityManager() == null)
       {
          PrincipalInfoAction.NON_PRIVILEGED.push(principal, credential, subject);
       }
@@ -118,10 +115,10 @@
          PrincipalInfoAction.PRIVILEGED.push(principal, credential, subject);
       }
    }
-   
+
    static void popSubjectContext()
    {
-      if(System.getSecurityManager() == null)
+      if (System.getSecurityManager() == null)
       {
          PrincipalInfoAction.NON_PRIVILEGED.pop();
       }
@@ -130,4 +127,61 @@
          PrincipalInfoAction.PRIVILEGED.pop();
       }
    }
-  }
+
+   static ClassLoader getTCL()
+   {
+      if (System.getSecurityManager() == null)
+      {
+         return Thread.currentThread().getContextClassLoader();
+      }
+      else
+      {
+         return AccessController.doPrivileged(new PrivilegedAction<ClassLoader>()
+         {
+            public ClassLoader run()
+            {
+               return Thread.currentThread().getContextClassLoader();
+            }
+         });
+      }
+   }
+
+   static ClassLoader getClassLoader(final Class<?> clazz)
+   {
+      if (System.getSecurityManager() == null)
+      {
+         return clazz.getClassLoader();
+      }
+      else
+      {
+         return AccessController.doPrivileged(new PrivilegedAction<ClassLoader>()
+         {
+            public ClassLoader run()
+            {
+               return clazz.getClassLoader();
+            }
+         });
+      }
+
+   }
+
+   static void setTCL(final ClassLoader tcl)
+   {
+      if (System.getSecurityManager() == null)
+      {
+         Thread.currentThread().setContextClassLoader(tcl);
+      }
+      else
+      {
+         AccessController.doPrivileged(new PrivilegedAction<Object>()
+         {
+            public Object run()
+            {
+               Thread.currentThread().setContextClassLoader(tcl);
+               return null;
+            }
+         });
+      }
+   }
+
+}

Modified: branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/server/endpoint/ServerConnectionFactoryEndpoint.java
===================================================================
--- branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/server/endpoint/ServerConnectionFactoryEndpoint.java	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/server/endpoint/ServerConnectionFactoryEndpoint.java	2009-02-02 10:42:54 UTC (rev 5773)
@@ -21,7 +21,10 @@
   */
 package org.jboss.jms.server.endpoint;
 
-import java.util.List;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+import java.security.PrivilegedActionException;
+import java.security.PrivilegedExceptionAction;
 import java.util.Map;
 import java.util.Set;
 
@@ -44,6 +47,7 @@
 import org.jboss.remoting.callback.Callback;
 import org.jboss.remoting.callback.InvokerCallbackHandler;
 import org.jboss.remoting.callback.ServerInvokerCallbackHandler;
+import org.jboss.security.SecurityAssociation;
 
 /**
  * Concrete implementation of ConnectionFactoryEndpoint
@@ -209,12 +213,12 @@
     *        failover. Negative values are ignored (mean regular connection creation attempt).
     */
    private ClientConnectionDelegate
-      createConnectionDelegateInternal(String username,
-                                       String password,
-                                       int failedNodeID,
-                                       String remotingSessionID, String clientVMID,
-                                       byte versionToUse,
-                                       ServerInvokerCallbackHandler callbackHandler)
+      createConnectionDelegateInternal(final String username,
+                                       final String password,
+                                       final int failedNodeID,
+                                       final String remotingSessionID, final String clientVMID,
+                                       final byte versionToUse,
+                                       final ServerInvokerCallbackHandler callbackHandler)
       throws Exception
    {
       log.trace("creating a new connection for user " + username);
@@ -224,7 +228,28 @@
       // up thread local immediately after we used the information, otherwise some other people
       // security my be screwed up, on account of thread local security stack being corrupted.
 
-      serverPeer.getSecurityManager().authenticate(username, password);
+      if (System.getSecurityManager() == null)
+      {
+         serverPeer.getSecurityManager().authenticate(username, password);
+      }
+      else
+      {
+         try
+         {
+            AccessController.doPrivileged(new PrivilegedExceptionAction<Object>()
+                                          {
+                                             public Object run() throws Exception
+                                             {
+                                                serverPeer.getSecurityManager().authenticate(username, password);
+                                                return null;
+                                             }
+                                          });
+         }
+         catch (PrivilegedActionException pe)
+         {
+            throw pe.getException();
+         }
+      }
 
       // We don't need the SubjectContext on thread local anymore, clean it up
       SecurityActions.popSubjectContext();

Modified: branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/server/endpoint/ServerSessionEndpoint.java
===================================================================
--- branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/server/endpoint/ServerSessionEndpoint.java	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/server/endpoint/ServerSessionEndpoint.java	2009-02-02 10:42:54 UTC (rev 5773)
@@ -139,6 +139,8 @@
    // Attributes -----------------------------------------------------------------------------------
 
    private boolean trace = log.isTraceEnabled();
+   
+   private boolean debug = log.isDebugEnabled();
 
    private String id;
 
@@ -1203,7 +1205,13 @@
 
          DeliveryRecord rec = (DeliveryRecord)entry.getValue();
 
-         rec.del.cancel();
+         /*
+          * https://jira.jboss.org/jira/browse/JBMESSAGING-1440
+          */
+         if (!rec.del.isXAPrepared())
+         {
+            rec.del.cancel();
+         }
 
          channels.add(rec.del.getObserver());
       }
@@ -1623,6 +1631,7 @@
          {
             //Sent to expiry queue
 
+            if (debug) { log.debug("Sending expired message: " + rec.del.getReference() + " to expiry queue " + rec.expiryQueue); }
             JBossMessage copy = makeCopyForDLQOrExpiry(true, del);
 
             moveInTransaction(copy, del, rec.expiryQueue, false);
@@ -1630,6 +1639,7 @@
          else
          {
             //Send to DLQ
+            if (debug) { log.debug("Sending message: " + rec.del.getReference() + " to dlq " + rec.dlq); }
 
             JBossMessage copy = makeCopyForDLQOrExpiry(false, del);
 

Modified: branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/tx/MessagingXAResource.java
===================================================================
--- branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/tx/MessagingXAResource.java	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/tx/MessagingXAResource.java	2009-02-02 10:42:54 UTC (rev 5773)
@@ -109,7 +109,8 @@
          return false;
       }
       
-      boolean same = ((MessagingXAResource)xaResource).rm.getServerID() == this.rm.getServerID();
+      boolean same = (((MessagingXAResource)xaResource).rm.getServerID() == this.rm.getServerID())
+                  && (((MessagingXAResource)xaResource).rm.getTransactions() == this.rm.getTransactions());
       
       if (trace) { log.trace("Calling isSameRM, result is " + same + " " + ((MessagingXAResource)xaResource).rm.getServerID() + " " + this.rm.getServerID()); }
             

Modified: branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/tx/ResourceManager.java
===================================================================
--- branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/tx/ResourceManager.java	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/tx/ResourceManager.java	2009-02-02 10:42:54 UTC (rev 5773)
@@ -602,7 +602,12 @@
          return new Xid[0];
       }
    }
-   
+
+   Map getTransactions()
+   {
+      return transactions;
+   }
+
    // Private --------------------------------------------------------------------------------------
    
    private ClientTransaction getTxInternal(Object xid)

Copied: branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/wireformat/SecurityActions.java (from rev 5772, branches/Branch_1_4/src/main/org/jboss/jms/wireformat/SecurityActions.java)
===================================================================
--- branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/wireformat/SecurityActions.java	                        (rev 0)
+++ branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/wireformat/SecurityActions.java	2009-02-02 10:42:54 UTC (rev 5773)
@@ -0,0 +1,88 @@
+/*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2005, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt in the distribution for a
+  * full listing of individual contributors.
+  *
+  * This is free software; you can redistribute it and/or modify it
+  * under the terms of the GNU Lesser General Public License as
+  * published by the Free Software Foundation; either version 2.1 of
+  * the License, or (at your option) any later version.
+  *
+  * This software is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  * Lesser General Public License for more details.
+  *
+  * You should have received a copy of the GNU Lesser General Public
+  * License along with this software; if not, write to the Free
+  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  */
+package org.jboss.jms.wireformat;
+
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+
+/** A collection of privileged actions for this package
+ * @author Clebert Suconic
+ */
+class SecurityActions
+{
+   static ClassLoader getTCL()
+   {
+      if (System.getSecurityManager() == null)
+      {
+         return Thread.currentThread().getContextClassLoader();
+      }
+      else
+      {
+         return AccessController.doPrivileged(new PrivilegedAction<ClassLoader>()
+         {
+            public ClassLoader run()
+            {
+               return Thread.currentThread().getContextClassLoader();
+            }
+         });
+      }
+   }
+
+   static ClassLoader getClassLoader(final Class<?> clazz)
+   {
+      if (System.getSecurityManager() == null)
+      {
+         return clazz.getClassLoader();
+      }
+      else
+      {
+         return AccessController.doPrivileged(new PrivilegedAction<ClassLoader>()
+         {
+            public ClassLoader run()
+            {
+               return clazz.getClassLoader();
+            }
+         });
+      }
+
+   }
+
+   static void setTCL(final ClassLoader tcl)
+   {
+      if (System.getSecurityManager() == null)
+      {
+         Thread.currentThread().setContextClassLoader(tcl);
+      }
+      else
+      {
+         AccessController.doPrivileged(new PrivilegedAction<Object>()
+         {
+            public Object run()
+            {
+               Thread.currentThread().setContextClassLoader(tcl);
+               return null;
+            }
+         });
+      }
+   }
+
+}

Modified: branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/wireformat/SerializedPacket.java
===================================================================
--- branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/wireformat/SerializedPacket.java	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/src/main/org/jboss/jms/wireformat/SerializedPacket.java	2009-02-02 10:42:54 UTC (rev 5773)
@@ -28,6 +28,7 @@
 
 import org.jboss.remoting.loading.ObjectInputStreamWithClassLoader;
 
+
 /**
  * For carrying a remoting non JBM invocation across the wire. Also used for internal invocation
  * request return values e.g. PONG. This would be used for pings, disconnect, addlistener,
@@ -67,7 +68,7 @@
       // need to use the thread context class loader, otherwise deserialization of various
       // remoting and messaging things will fail in a scoped domain
       ObjectInputStream ois =
-         new ObjectInputStreamWithClassLoader(is, Thread.currentThread().getContextClassLoader());
+         new ObjectInputStreamWithClassLoader(is, SecurityActions.getTCL());
 
       payload = ois.readObject();
    }

Modified: branches/Branch_JBMESSAGING_1416/src/main/org/jboss/messaging/core/contract/Delivery.java
===================================================================
--- branches/Branch_JBMESSAGING_1416/src/main/org/jboss/messaging/core/contract/Delivery.java	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/src/main/org/jboss/messaging/core/contract/Delivery.java	2009-02-02 10:42:54 UTC (rev 5773)
@@ -48,4 +48,9 @@
    void cancel() throws Throwable;   
    
    boolean isRecovered();
+
+   /**
+    * Mark if this delivery is with a prepared XA transaction.
+    */
+   boolean isXAPrepared();
 }

Modified: branches/Branch_JBMESSAGING_1416/src/main/org/jboss/messaging/core/impl/ChannelSupport.java
===================================================================
--- branches/Branch_JBMESSAGING_1416/src/main/org/jboss/messaging/core/impl/ChannelSupport.java	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/src/main/org/jboss/messaging/core/impl/ChannelSupport.java	2009-02-02 10:42:54 UTC (rev 5773)
@@ -51,6 +51,7 @@
 import org.jboss.messaging.util.prioritylinkedlist.BasicPriorityLinkedList;
 import org.jboss.messaging.util.prioritylinkedlist.PriorityLinkedList;
 import org.jboss.util.timeout.Timeout;
+import org.jboss.util.timeout.TimeoutExt;
 import org.jboss.util.timeout.TimeoutTarget;
 
 import EDU.oswego.cs.dl.util.concurrent.SynchronizedInt;
@@ -301,6 +302,13 @@
       acknowledgeInternal(d, null, false);
    }
 
+   /*
+    * Note: If a XA tx is not committed while failure happens, cancelling of the 
+    * delivery shouldn't put the message with transactions back to re-deliver.
+    * It must be there in DB until the transaction recovery happens.
+    * 
+    * @see org.jboss.messaging.core.contract.DeliveryObserver#cancel(org.jboss.messaging.core.contract.Delivery)
+    */
    public void cancel(Delivery del) throws Throwable
    {
       //We may need to update the delivery count in the database
@@ -387,7 +395,7 @@
 	         distributor = null;
 	      }
 
-	      clearAllScheduledDeliveries();
+	      clearAllScheduledDeliveries(false);
    	}
    }
 
@@ -431,12 +439,12 @@
             del.acknowledge(null);
          }
 
+         clearAllScheduledDeliveries(true);
          deliveringCount.set(0);
 
          log.trace(this + " done removing all references, there are " + this.messageRefs.size());
       }
 
-      clearAllScheduledDeliveries();
    }
 
    public List undelivered(Filter filter)
@@ -555,7 +563,7 @@
 
    // Protected ------------------------------------------------------------------------------------
 
-   protected void clearAllScheduledDeliveries()
+   protected void clearAllScheduledDeliveries(boolean needRemove)
    {
       synchronized (scheduledDeliveries)
       {
@@ -568,6 +576,26 @@
             Timeout timeout = (Timeout)iter.next();
 
             timeout.cancel();
+            
+            if (needRemove) {
+               if (timeout instanceof TimeoutExt) {
+                  TimeoutExt te = (TimeoutExt)timeout;
+                  DeliverRefTimeoutTarget target = (DeliverRefTimeoutTarget)te.getTimeoutTarget();
+
+                  log.trace("clearing scheduled ref " + target.ref);
+
+                  SimpleDelivery del = new SimpleDelivery(this, target.ref);
+
+                  try
+                  {
+                     del.acknowledge(null);
+                  }
+                  catch (Throwable e)
+                  {
+                     log.warn("exception when acknowledging", e);
+                  }
+               }
+            }
          }
 
          scheduledDeliveries.clear();

Modified: branches/Branch_JBMESSAGING_1416/src/main/org/jboss/messaging/core/impl/PagingChannelSupport.java
===================================================================
--- branches/Branch_JBMESSAGING_1416/src/main/org/jboss/messaging/core/impl/PagingChannelSupport.java	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/src/main/org/jboss/messaging/core/impl/PagingChannelSupport.java	2009-02-02 10:42:54 UTC (rev 5773)
@@ -234,7 +234,7 @@
          
          firstPagingOrder = nextPagingOrder = 0;  
          
-         clearAllScheduledDeliveries();
+         clearAllScheduledDeliveries(false);
       }
    }
    

Modified: branches/Branch_JBMESSAGING_1416/src/main/org/jboss/messaging/core/impl/SimpleDelivery.java
===================================================================
--- branches/Branch_JBMESSAGING_1416/src/main/org/jboss/messaging/core/impl/SimpleDelivery.java	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/src/main/org/jboss/messaging/core/impl/SimpleDelivery.java	2009-02-02 10:42:54 UTC (rev 5773)
@@ -50,6 +50,7 @@
    private DeliveryObserver observer;
    private MessageReference reference;   
    private boolean recovered;
+   private Transaction tx;
 
    private boolean trace = log.isTraceEnabled();
 
@@ -73,6 +74,7 @@
       this.observer = observer;
       this.selectorAccepted = selectorAccepted;
       this.recovered = recovered;
+      this.tx = null;
    }
 
    // Delivery implementation ----------------------------------------------------------------------
@@ -95,6 +97,8 @@
    public void acknowledge(Transaction tx) throws Throwable
    {        
       if (trace) { log.trace(this + " acknowledging delivery " + ( tx == null ? "non-transactionally" : "in " + tx)); }
+
+      this.tx = tx;
       
       observer.acknowledge(this, tx);
    }
@@ -118,6 +122,20 @@
       return "Delivery" + (reference == null ? "" : "[" + reference + "]");
    }
 
+   /* (non-Javadoc)
+    * @see org.jboss.messaging.core.contract.Delivery#isXA()
+    */
+   public boolean isXAPrepared()
+   {
+      if (tx != null) {
+         if (tx.getXid() != null)
+         {
+            return tx.getState() == Transaction.STATE_PREPARED;
+         }
+      }
+      return false;
+   }
+
    // Package protected ----------------------------------------------------------------------------
    
    // Protected ------------------------------------------------------------------------------------

Modified: branches/Branch_JBMESSAGING_1416/src/main/org/jboss/messaging/core/impl/postoffice/MessagingPostOffice.java
===================================================================
--- branches/Branch_JBMESSAGING_1416/src/main/org/jboss/messaging/core/impl/postoffice/MessagingPostOffice.java	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/src/main/org/jboss/messaging/core/impl/postoffice/MessagingPostOffice.java	2009-02-02 10:42:54 UTC (rev 5773)
@@ -3022,27 +3022,27 @@
                localQueue.mergeIn(queue.getChannelID(), failedNodeID.intValue());
                
                log.debug("Merged queue");       
+               
+               //Delete from storage
+               
+               //Note we must do this *after* we have done any merge.
+               //This is because if we did it first, then the merge failed, we'd be left with the old channel deleted
+               //but the messages would have still be in the old channel
+               //meaning they would have disappeared from the users point of view and it would involve manual
+               //database intervention to correct it
+               //See http://jira.jboss.com/jira/browse/JBMESSAGING-1113
+               
+               deleteBindingFromStorage(queue);
+            
+               log.debug(this + " deleted binding for " + queue.getName());
             }
             else
             {
             	//Cannot failover if there is no queue deployed.
             	
-            	throw new IllegalStateException("Cannot failover " + queue.getName() + " since it does not exist on this node. " + 
+            	log.warn("Cannot failover " + queue.getName() + " since it does not exist on this node. " + 
             			                          "You must deploy your clustered destinations on ALL nodes of the cluster");
             }    
-            
-      		//Delete from storage
-            
-            //Note we must do this *after* we have done any merge.
-            //This is because if we did it first, then the merge failed, we'd be left with the old channel deleted
-            //but the messages would have still be in the old channel
-            //meaning they would have disappeared from the users point of view and it would involve manual
-            //database intervention to correct it
-            //See http://jira.jboss.com/jira/browse/JBMESSAGING-1113
-            
-      		deleteBindingFromStorage(queue);
-      	
-            log.debug(this + " deleted binding for " + queue.getName());
 
             // Note we do not need to send an unbind request across the cluster - this is because
             // when the node crashes a view change will hit the other nodes and that will cause

Modified: branches/Branch_JBMESSAGING_1416/src/main/org/jboss/messaging/util/JBMExecutor.java
===================================================================
--- branches/Branch_JBMESSAGING_1416/src/main/org/jboss/messaging/util/JBMExecutor.java	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/src/main/org/jboss/messaging/util/JBMExecutor.java	2009-02-02 10:42:54 UTC (rev 5773)
@@ -22,10 +22,6 @@
 
 package org.jboss.messaging.util;
 
-import java.security.AccessController;
-import java.security.PrivilegedAction;
-
-
 /** Any Executor being used on client side has to clean its contextClassLoader, as that could cause leaks.
  *  This class encapsulates the necessary cleanup to avoid that leak.
  *
@@ -51,7 +47,7 @@
 
    private boolean needToSetClassLoader = true;
 
-   public JBMExecutor(String name)
+   public JBMExecutor(final String name)
    {
       super(name);
    }
@@ -59,22 +55,15 @@
    class TCLRunnable implements Runnable
    {
 
-      private Runnable realRunnable;
+      private final Runnable realRunnable;
+
       private ClassLoader tcl;
 
-      public TCLRunnable(Runnable realRunnable)
+      public TCLRunnable(final Runnable realRunnable)
       {
          if (needToSetClassLoader)
          {
-            tcl = AccessController.doPrivileged(
-               new PrivilegedAction<ClassLoader>()
-               {
-                  public ClassLoader run()
-                  {
-                     return Thread.currentThread().getContextClassLoader();
-                  }
-               }
-            );
+            tcl = SecurityActions.getTCL();
          }
 
          this.realRunnable = realRunnable;
@@ -86,52 +75,44 @@
          if (needToSetClassLoader)
          {
             needToSetClassLoader = false;
-
-            AccessController.doPrivileged(
-               new PrivilegedAction()
-               {
-                  public Object run()
-                  {
-                     Thread.currentThread().setContextClassLoader(tcl);
-                     return null;
-                  }
-               }
-            );
+            SecurityActions.setTCL(tcl);
          }
          realRunnable.run();
       }
    }
 
-
-   public void execute(Runnable runnable) throws InterruptedException
+   @Override
+   public void execute(final Runnable runnable) throws InterruptedException
    {
       super.execute(new TCLRunnable(runnable));
    }
-   
+
    public void clearClassLoader() throws InterruptedException
    {
       super.execute(new Runnable()
-                  {
-                     @SuppressWarnings("unchecked")
-                     public void run()
-                     {
-                        needToSetClassLoader = true;
-                     }
-                  });
-      
+      {
+         @SuppressWarnings("unchecked")
+         public void run()
+         {
+            needToSetClassLoader = true;
+         }
+      });
+
    }
 
-
    public void clearAllExceptCurrentTask()
    {
       try
       {
-        while (queue_.poll(0) != null);
+         while (queue_.poll(0) != null)
+         {
+            ;
+         }
       }
       catch (InterruptedException ex)
       {
-        Thread.currentThread().interrupt();
+         Thread.currentThread().interrupt();
       }
    }
-   
+
 }

Modified: branches/Branch_JBMESSAGING_1416/src/main/org/jboss/messaging/util/ObjectInputStreamWithClassLoader.java
===================================================================
--- branches/Branch_JBMESSAGING_1416/src/main/org/jboss/messaging/util/ObjectInputStreamWithClassLoader.java	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/src/main/org/jboss/messaging/util/ObjectInputStreamWithClassLoader.java	2009-02-02 10:42:54 UTC (rev 5773)
@@ -59,7 +59,7 @@
    protected Class resolveClass(ObjectStreamClass desc) throws IOException, ClassNotFoundException
    {
       String name = desc.getName();
-      ClassLoader loader = Thread.currentThread().getContextClassLoader();
+      ClassLoader loader = SecurityActions.getTCL();
       try
       {
          Class clazz = loader.loadClass(name);

Modified: branches/Branch_JBMESSAGING_1416/src/main/org/jboss/messaging/util/OrderedExecutorFactory.java
===================================================================
--- branches/Branch_JBMESSAGING_1416/src/main/org/jboss/messaging/util/OrderedExecutorFactory.java	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/src/main/org/jboss/messaging/util/OrderedExecutorFactory.java	2009-02-02 10:42:54 UTC (rev 5773)
@@ -22,8 +22,6 @@
 
 package org.jboss.messaging.util;
 
-import java.security.AccessController;
-import java.security.PrivilegedAction;
 import java.util.Collections;
 import java.util.HashSet;
 import java.util.LinkedList;
@@ -80,13 +78,7 @@
       {
          if (needToSetClassLoader)
          {
-            tcl = AccessController.doPrivileged(new PrivilegedAction<ClassLoader>()
-            {
-               public ClassLoader run()
-               {
-                  return Thread.currentThread().getContextClassLoader();
-               }
-            });
+            tcl = SecurityActions.getTCL();
          }
          synchronized (tasks)
          {
@@ -108,14 +100,8 @@
          {
             needToSetClassLoader = false;
 
-            AccessController.doPrivileged(new PrivilegedAction()
-            {
-               public Object run()
-               {
-                  Thread.currentThread().setContextClassLoader(tcl);
-                  return null;
-               }
-            });
+            SecurityActions.setTCL(tcl);
+            
          }
 
          for (;;)

Copied: branches/Branch_JBMESSAGING_1416/src/main/org/jboss/messaging/util/SecurityActions.java (from rev 5772, branches/Branch_1_4/src/main/org/jboss/messaging/util/SecurityActions.java)
===================================================================
--- branches/Branch_JBMESSAGING_1416/src/main/org/jboss/messaging/util/SecurityActions.java	                        (rev 0)
+++ branches/Branch_JBMESSAGING_1416/src/main/org/jboss/messaging/util/SecurityActions.java	2009-02-02 10:42:54 UTC (rev 5773)
@@ -0,0 +1,88 @@
+/*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2005, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt in the distribution for a
+  * full listing of individual contributors.
+  *
+  * This is free software; you can redistribute it and/or modify it
+  * under the terms of the GNU Lesser General Public License as
+  * published by the Free Software Foundation; either version 2.1 of
+  * the License, or (at your option) any later version.
+  *
+  * This software is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  * Lesser General Public License for more details.
+  *
+  * You should have received a copy of the GNU Lesser General Public
+  * License along with this software; if not, write to the Free
+  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  */
+package org.jboss.messaging.util;
+
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+
+/** A collection of privileged actions for this package
+ * @author Clebert Suconic
+ */
+class SecurityActions
+{
+   static ClassLoader getTCL()
+   {
+      if (System.getSecurityManager() == null)
+      {
+         return Thread.currentThread().getContextClassLoader();
+      }
+      else
+      {
+         return AccessController.doPrivileged(new PrivilegedAction<ClassLoader>()
+         {
+            public ClassLoader run()
+            {
+               return Thread.currentThread().getContextClassLoader();
+            }
+         });
+      }
+   }
+
+   static ClassLoader getClassLoader(final Class<?> clazz)
+   {
+      if (System.getSecurityManager() == null)
+      {
+         return clazz.getClassLoader();
+      }
+      else
+      {
+         return AccessController.doPrivileged(new PrivilegedAction<ClassLoader>()
+         {
+            public ClassLoader run()
+            {
+               return clazz.getClassLoader();
+            }
+         });
+      }
+
+   }
+
+   static void setTCL(final ClassLoader tcl)
+   {
+      if (System.getSecurityManager() == null)
+      {
+         Thread.currentThread().setContextClassLoader(tcl);
+      }
+      else
+      {
+         AccessController.doPrivileged(new PrivilegedAction<Object>()
+         {
+            public Object run()
+            {
+               Thread.currentThread().setContextClassLoader(tcl);
+               return null;
+            }
+         });
+      }
+   }
+
+}

Copied: branches/Branch_JBMESSAGING_1416/tests/bin/loop-clustered (from rev 5772, branches/Branch_1_4/tests/bin/loop-clustered)
===================================================================
--- branches/Branch_JBMESSAGING_1416/tests/bin/loop-clustered	                        (rev 0)
+++ branches/Branch_JBMESSAGING_1416/tests/bin/loop-clustered	2009-02-02 10:42:54 UTC (rev 5773)
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+
+count=5000
+i=0
+
+while [ $i -lt $count ]; do
+	i=`expr $i + 1`
+   echo "#############################################"
+   echo "#                                           #"
+	echo "#         Running test loop $i"
+   echo "#                                           #"
+   echo "#############################################"
+   echo ""
+   cat /dev/null > ../output/logs/messaging-tests.trace.log
+   if ! ./runtest -remote -clustered; then
+		echo "Test failed on loop $i"
+      exit 1
+   fi
+done
+
+
+echo "#############################################"
+echo "#                                           #"
+echo "#      $count loops ran successfully" 
+echo "#                                           #"
+echo "#############################################"


Property changes on: branches/Branch_JBMESSAGING_1416/tests/bin/runtest
___________________________________________________________________
Name: svn:executable
   + *


Property changes on: branches/Branch_JBMESSAGING_1416/tests/bin/stop-rmi-server
___________________________________________________________________
Name: svn:executable
   + *

Modified: branches/Branch_JBMESSAGING_1416/tests/build.properties
===================================================================
--- branches/Branch_JBMESSAGING_1416/tests/build.properties	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/tests/build.properties	2009-02-02 10:42:54 UTC (rev 5773)
@@ -2,6 +2,6 @@
 # Local overrides for the builds initiated by build.sh
 #
 
-test.bind.address=192.168.1.150
+test.bind.address=192.168.1.101
+default.database=mysql
 
-

Modified: branches/Branch_JBMESSAGING_1416/tests/build.xml
===================================================================
--- branches/Branch_JBMESSAGING_1416/tests/build.xml	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/tests/build.xml	2009-02-02 10:42:54 UTC (rev 5773)
@@ -330,6 +330,7 @@
 			<sysproperty key="jboss.messaging.datachanneludpaddress" value="${jboss.messaging.datachanneludpaddress}" />
 			<sysproperty key="jboss.messaging.controlchanneludpaddress" value="${jboss.messaging.controlchanneludpaddress}" />
 			<sysproperty key="jboss.messaging.ipttl" value="${jboss.messaging.ipttl}" />
+			<sysproperty key="java.net.preferIPv4Stack" value="true" />
 			<sysproperty key="test.database" value="${functional.tests.database}" />
 			<sysproperty key="test.logfile.suffix" value="invm" />
 			<sysproperty key="build.lib" value="${build.lib}" />
@@ -406,7 +407,7 @@
 		<echo message="" />
 		<echo message="Running remote tests, junit.batchtest.fork=${junit.batchtest.fork}, remoting=${test.remoting}" />
 		<echo message="" />
-
+		
 		<junit printsummary="${junit.printsummary}" fork="on" forkMode="once" includeantruntime="yes" haltonerror="${junit.haltonerror}" haltonfailure="${junit.haltonfailure}" showoutput="${junit.showoutput}" timeout="${junit.timeout}">
 
 			<sysproperty key="remote" value="true" />
@@ -417,6 +418,15 @@
 			<sysproperty key="test.remoting" value="${test.remoting}" />
 			<sysproperty key="test.logfile.suffix" value="remote-client" />
 			<sysproperty key="objectstore.dir" value="${objectstore.dir}" />
+
+			<sysproperty key="jboss.messaging.groupname" value="${jboss.messaging.groupname}" />
+			<sysproperty key="jboss.messaging.datachanneludpport" value="${jboss.messaging.datachanneludpport}" />
+			<sysproperty key="jboss.messaging.controlchanneludpport" value="${jboss.messaging.controlchanneludpport}" />
+			<sysproperty key="jboss.messaging.datachanneludpaddress" value="${jboss.messaging.datachanneludpaddress}" />
+			<sysproperty key="jboss.messaging.controlchanneludpaddress" value="${jboss.messaging.controlchanneludpaddress}" />
+			<sysproperty key="jboss.messaging.ipttl" value="${jboss.messaging.ipttl}" />
+			<sysproperty key="java.net.preferIPv4Stack" value="true" />
+			
 			<jvmarg value="-Xmx512M" />
 			<!--
          <jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=n,suspend=n,address=antjunit"/>

Modified: branches/Branch_JBMESSAGING_1416/tests/etc/log4j.xml
===================================================================
--- branches/Branch_JBMESSAGING_1416/tests/etc/log4j.xml	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/tests/etc/log4j.xml	2009-02-02 10:42:54 UTC (rev 5773)
@@ -43,7 +43,7 @@
    </category>
 
    <category name="org.jgroups">
-      <priority value="WARN"/>
+      <priority value="DEBUG"/>
    </category>
 
    <category name="org.jboss.remoting">

Modified: branches/Branch_JBMESSAGING_1416/tests/etc/server/default/deploy/mock-channelfactory-stacks.xml
===================================================================
--- branches/Branch_JBMESSAGING_1416/tests/etc/server/default/deploy/mock-channelfactory-stacks.xml	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/tests/etc/server/default/deploy/mock-channelfactory-stacks.xml	2009-02-02 10:42:54 UTC (rev 5773)
@@ -123,6 +123,511 @@
         </config>
     </stack>
            
+    <!-- ClusteredPostOfficeTest needs to run multiple JGroups instances inside the same VM, and we need multiple stacks for that --> 
+    
+    
+    <stack name="jbm-control_1"
+           description="Stack optimized for the JBoss Messaging Control Channel">
+       <config>
+	        <UDP
+	             singleton_name="shared-udp_1"
+	             mcast_port="${jboss.jgroups.udp.mcast_port:45688}"
+	             mcast_addr="${jgroups.udp.mcast_addr:228.11.11.11}"
+	             tos="8"
+	             ucast_recv_buf_size="20000000"
+	             ucast_send_buf_size="640000"
+	             mcast_recv_buf_size="25000000"
+	             mcast_send_buf_size="640000"
+	             loopback="true"
+	             discard_incompatible_packets="true"
+	             enable_bundling="false"
+	             max_bundle_size="64000"
+	             max_bundle_timeout="30"
+	             use_incoming_packet_handler="true"
+	             ip_ttl="${jgroups.udp.ip_ttl:2}"
+	             thread_naming_pattern="cl"
+	             timer.num_threads="12"
+	                         
+	             use_concurrent_stack="true"
+	        
+	             thread_pool.enabled="true"
+	             thread_pool.min_threads="20"
+	             thread_pool.max_threads="200"
+	             thread_pool.keep_alive_time="5000"
+	             thread_pool.queue_enabled="true"
+	             thread_pool.queue_max_size="1000"
+	             thread_pool.rejection_policy="discard"
+	              
+	             oob_thread_pool.enabled="true"
+	             oob_thread_pool.min_threads="1"
+	             oob_thread_pool.max_threads="20"
+	             oob_thread_pool.keep_alive_time="5000"
+	             oob_thread_pool.queue_enabled="false"
+	             oob_thread_pool.queue_max_size="100"
+	             oob_thread_pool.rejection_policy="run"/>
+            <PING timeout="2000"
+                  num_initial_members="3"/>
+            <MERGE2 max_interval="100000"
+                    min_interval="20000"/>
+            <FD_SOCK />
+            <FD timeout="6000" max_tries="5" shun="true"/>
+            <VERIFY_SUSPECT timeout="1500" />
+            <BARRIER />
+            <pbcast.NAKACK use_stats_for_retransmission="false"
+                   exponential_backoff="150"
+                   use_mcast_xmit="true" gc_lag="0"
+                   retransmit_timeout="50,300,600,1200"
+                   discard_delivered_msgs="true"/>
+            <UNICAST timeout="300,600,1200,2400,3600"/>
+            <pbcast.STABLE stability_delay="1000" desired_avg_gossip="50000"
+                           max_bytes="400000"/>
+            <VIEW_SYNC avg_send_interval="10000"/>
+            <pbcast.GMS print_local_addr="true" join_timeout="3000"
+                shun="true"
+                view_bundling="true"/>
+            <FC max_credits="500000"
+                    min_threshold="0.20"/>
+            <FRAG2 frag_size="60000"  />
+            <pbcast.STATE_TRANSFER/>
+            <pbcast.FLUSH timeout="20000"/>
+        </config>
+    </stack>
+    
+    <stack name="jbm-data_1"
+           description="Stack optimized for the JBoss Messaging Data Channel">
+        <config>
+            <TCP singleton_name="jbm-data_1"
+                 start_port="7900"
+                 loopback="true"
+                 recv_buf_size="20000000"
+                 send_buf_size="640000"
+                 discard_incompatible_packets="true"
+                 max_bundle_size="64000"
+                 max_bundle_timeout="30"
+                 use_incoming_packet_handler="true"
+                 enable_bundling="false"
+                 use_send_queues="false"
+                 sock_conn_timeout="300"
+                 skip_suspected_members="true"
+                 
+                 use_concurrent_stack="true" 
+                 
+                 thread_pool.enabled="true"
+                 thread_pool.min_threads="8"
+                 thread_pool.max_threads="200"
+                 thread_pool.keep_alive_time="5000"
+                 thread_pool.queue_enabled="true" 
+                 thread_pool.queue_max_size="500"
+                 thread_pool.rejection_policy="discard"
+                 
+                 oob_thread_pool.enabled="true"
+                 oob_thread_pool.min_threads="1"
+                 oob_thread_pool.max_threads="100" 
+                 oob_thread_pool.keep_alive_time="5000"
+                 oob_thread_pool.queue_enabled="false"
+                 oob_thread_pool.queue_max_size="100"
+                 oob_thread_pool.rejection_policy="run"/>
+            <MPING timeout="5000"
+               mcast_addr="${jboss.messaging.datachanneludpaddress,jboss.partition.udpGroup:228.6.6.6}"
+               mcast_port="${jboss.messaging.datachanneludpport:45567}"
+               ip_ttl="${jboss.messaging.ipttl:8}"
+               num_initial_members="5"
+               num_ping_requests="3"/>
+            <MERGE2 max_interval="100000" min_interval="20000"/>
+            <FD_SOCK/>
+            <FD timeout="6000" max_tries="5" shun="true"/>
+            <VERIFY_SUSPECT timeout="1500"/>
+            <BARRIER/>
+            <pbcast.NAKACK use_mcast_xmit="false" gc_lag="0"
+                           retransmit_timeout="300,600,1200,2400,4800"
+                           discard_delivered_msgs="true"/>
+            <UNICAST timeout="300,600,1200,2400,3600"/>
+            <pbcast.STABLE stability_delay="1000" desired_avg_gossip="50000"
+                           max_bytes="400000"/>
+            <VIEW_SYNC avg_send_interval="10000"/>
+
+            <pbcast.GMS print_local_addr="true" join_timeout="3000"
+                shun="true" view_bundling="true"/>
+        </config>
+    </stack>
+
+    <stack name="jbm-control_2"
+           description="Stack optimized for the JBoss Messaging Control Channel">
+       <config>
+	        <UDP
+	             singleton_name="shared-udp_2"
+	             mcast_port="${jboss.jgroups.udp.mcast_port:45688}"
+	             mcast_addr="${jgroups.udp.mcast_addr:228.11.11.11}"
+	             tos="8"
+	             ucast_recv_buf_size="20000000"
+	             ucast_send_buf_size="640000"
+	             mcast_recv_buf_size="25000000"
+	             mcast_send_buf_size="640000"
+	             loopback="true"
+	             discard_incompatible_packets="true"
+	             enable_bundling="false"
+	             max_bundle_size="64000"
+	             max_bundle_timeout="30"
+	             use_incoming_packet_handler="true"
+	             ip_ttl="${jgroups.udp.ip_ttl:2}"
+	             thread_naming_pattern="cl"
+	             timer.num_threads="12"
+	                         
+	             use_concurrent_stack="true"
+	        
+	             thread_pool.enabled="true"
+	             thread_pool.min_threads="20"
+	             thread_pool.max_threads="200"
+	             thread_pool.keep_alive_time="5000"
+	             thread_pool.queue_enabled="true"
+	             thread_pool.queue_max_size="1000"
+	             thread_pool.rejection_policy="discard"
+	              
+	             oob_thread_pool.enabled="true"
+	             oob_thread_pool.min_threads="1"
+	             oob_thread_pool.max_threads="20"
+	             oob_thread_pool.keep_alive_time="5000"
+	             oob_thread_pool.queue_enabled="false"
+	             oob_thread_pool.queue_max_size="100"
+	             oob_thread_pool.rejection_policy="run"/>
+            <PING timeout="2000"
+                  num_initial_members="3"/>
+            <MERGE2 max_interval="100000"
+                    min_interval="20000"/>
+            <FD_SOCK />
+            <FD timeout="6000" max_tries="5" shun="true"/>
+            <VERIFY_SUSPECT timeout="1500" />
+            <BARRIER />
+            <pbcast.NAKACK use_stats_for_retransmission="false"
+                   exponential_backoff="150"
+                   use_mcast_xmit="true" gc_lag="0"
+                   retransmit_timeout="50,300,600,1200"
+                   discard_delivered_msgs="true"/>
+            <UNICAST timeout="300,600,1200,2400,3600"/>
+            <pbcast.STABLE stability_delay="1000" desired_avg_gossip="50000"
+                           max_bytes="400000"/>
+            <VIEW_SYNC avg_send_interval="10000"/>
+            <pbcast.GMS print_local_addr="true" join_timeout="3000"
+                shun="true"
+                view_bundling="true"/>
+            <FC max_credits="500000"
+                    min_threshold="0.20"/>
+            <FRAG2 frag_size="60000"  />
+            <pbcast.STATE_TRANSFER/>
+            <pbcast.FLUSH timeout="20000"/>
+        </config>
+    </stack>
+    
+    <stack name="jbm-data_2"
+           description="Stack optimized for the JBoss Messaging Data Channel">
+        <config>
+            <TCP singleton_name="jbm-data_2"
+                 start_port="7900"
+                 loopback="true"
+                 recv_buf_size="20000000"
+                 send_buf_size="640000"
+                 discard_incompatible_packets="true"
+                 max_bundle_size="64000"
+                 max_bundle_timeout="30"
+                 use_incoming_packet_handler="true"
+                 enable_bundling="false"
+                 use_send_queues="false"
+                 sock_conn_timeout="300"
+                 skip_suspected_members="true"
+                 
+                 use_concurrent_stack="true" 
+                 
+                 thread_pool.enabled="true"
+                 thread_pool.min_threads="8"
+                 thread_pool.max_threads="200"
+                 thread_pool.keep_alive_time="5000"
+                 thread_pool.queue_enabled="true" 
+                 thread_pool.queue_max_size="500"
+                 thread_pool.rejection_policy="discard"
+                 
+                 oob_thread_pool.enabled="true"
+                 oob_thread_pool.min_threads="1"
+                 oob_thread_pool.max_threads="100" 
+                 oob_thread_pool.keep_alive_time="5000"
+                 oob_thread_pool.queue_enabled="false"
+                 oob_thread_pool.queue_max_size="100"
+                 oob_thread_pool.rejection_policy="run"/>
+            <MPING timeout="5000"
+               mcast_addr="${jboss.messaging.datachanneludpaddress,jboss.partition.udpGroup:228.6.6.6}"
+               mcast_port="${jboss.messaging.datachanneludpport:45567}"
+               ip_ttl="${jboss.messaging.ipttl:8}"
+               num_initial_members="5"
+               num_ping_requests="3"/>
+            <MERGE2 max_interval="100000" min_interval="20000"/>
+            <FD_SOCK/>
+            <FD timeout="6000" max_tries="5" shun="true"/>
+            <VERIFY_SUSPECT timeout="1500"/>
+            <BARRIER/>
+            <pbcast.NAKACK use_mcast_xmit="false" gc_lag="0"
+                           retransmit_timeout="300,600,1200,2400,4800"
+                           discard_delivered_msgs="true"/>
+            <UNICAST timeout="300,600,1200,2400,3600"/>
+            <pbcast.STABLE stability_delay="1000" desired_avg_gossip="50000"
+                           max_bytes="400000"/>
+            <VIEW_SYNC avg_send_interval="10000"/>
+
+            <pbcast.GMS print_local_addr="true" join_timeout="3000"
+                shun="true" view_bundling="true"/>
+        </config>
+    </stack>
+           
+    <stack name="jbm-control_3"
+           description="Stack optimized for the JBoss Messaging Control Channel">
+       <config>
+	        <UDP
+	             singleton_name="shared-udp_3"
+	             mcast_port="${jboss.jgroups.udp.mcast_port:45688}"
+	             mcast_addr="${jgroups.udp.mcast_addr:228.11.11.11}"
+	             tos="8"
+	             ucast_recv_buf_size="20000000"
+	             ucast_send_buf_size="640000"
+	             mcast_recv_buf_size="25000000"
+	             mcast_send_buf_size="640000"
+	             loopback="true"
+	             discard_incompatible_packets="true"
+	             enable_bundling="false"
+	             max_bundle_size="64000"
+	             max_bundle_timeout="30"
+	             use_incoming_packet_handler="true"
+	             ip_ttl="${jgroups.udp.ip_ttl:2}"
+	             thread_naming_pattern="cl"
+	             timer.num_threads="12"
+	                         
+	             use_concurrent_stack="true"
+	        
+	             thread_pool.enabled="true"
+	             thread_pool.min_threads="20"
+	             thread_pool.max_threads="200"
+	             thread_pool.keep_alive_time="5000"
+	             thread_pool.queue_enabled="true"
+	             thread_pool.queue_max_size="1000"
+	             thread_pool.rejection_policy="discard"
+	              
+	             oob_thread_pool.enabled="true"
+	             oob_thread_pool.min_threads="1"
+	             oob_thread_pool.max_threads="20"
+	             oob_thread_pool.keep_alive_time="5000"
+	             oob_thread_pool.queue_enabled="false"
+	             oob_thread_pool.queue_max_size="100"
+	             oob_thread_pool.rejection_policy="run"/>
+            <PING timeout="2000"
+                  num_initial_members="3"/>
+            <MERGE2 max_interval="100000"
+                    min_interval="20000"/>
+            <FD_SOCK />
+            <FD timeout="6000" max_tries="5" shun="true"/>
+            <VERIFY_SUSPECT timeout="1500" />
+            <BARRIER />
+            <pbcast.NAKACK use_stats_for_retransmission="false"
+                   exponential_backoff="150"
+                   use_mcast_xmit="true" gc_lag="0"
+                   retransmit_timeout="50,300,600,1200"
+                   discard_delivered_msgs="true"/>
+            <UNICAST timeout="300,600,1200,2400,3600"/>
+            <pbcast.STABLE stability_delay="1000" desired_avg_gossip="50000"
+                           max_bytes="400000"/>
+            <VIEW_SYNC avg_send_interval="10000"/>
+            <pbcast.GMS print_local_addr="true" join_timeout="3000"
+                shun="true"
+                view_bundling="true"/>
+            <FC max_credits="500000"
+                    min_threshold="0.20"/>
+            <FRAG2 frag_size="60000"  />
+            <pbcast.STATE_TRANSFER/>
+            <pbcast.FLUSH timeout="20000"/>
+        </config>
+    </stack>
+    
+    <stack name="jbm-data_3"
+           description="Stack optimized for the JBoss Messaging Data Channel">
+        <config>
+            <TCP singleton_name="jbm-data_3"
+                 start_port="7900"
+                 loopback="true"
+                 recv_buf_size="20000000"
+                 send_buf_size="640000"
+                 discard_incompatible_packets="true"
+                 max_bundle_size="64000"
+                 max_bundle_timeout="30"
+                 use_incoming_packet_handler="true"
+                 enable_bundling="false"
+                 use_send_queues="false"
+                 sock_conn_timeout="300"
+                 skip_suspected_members="true"
+                 
+                 use_concurrent_stack="true" 
+                 
+                 thread_pool.enabled="true"
+                 thread_pool.min_threads="8"
+                 thread_pool.max_threads="200"
+                 thread_pool.keep_alive_time="5000"
+                 thread_pool.queue_enabled="true" 
+                 thread_pool.queue_max_size="500"
+                 thread_pool.rejection_policy="discard"
+                 
+                 oob_thread_pool.enabled="true"
+                 oob_thread_pool.min_threads="1"
+                 oob_thread_pool.max_threads="100" 
+                 oob_thread_pool.keep_alive_time="5000"
+                 oob_thread_pool.queue_enabled="false"
+                 oob_thread_pool.queue_max_size="100"
+                 oob_thread_pool.rejection_policy="run"/>
+            <MPING timeout="5000"
+               mcast_addr="${jboss.messaging.datachanneludpaddress,jboss.partition.udpGroup:228.6.6.6}"
+               mcast_port="${jboss.messaging.datachanneludpport:45567}"
+               ip_ttl="${jboss.messaging.ipttl:8}"
+               num_initial_members="5"
+               num_ping_requests="3"/>
+            <MERGE2 max_interval="100000" min_interval="20000"/>
+            <FD_SOCK/>
+            <FD timeout="6000" max_tries="5" shun="true"/>
+            <VERIFY_SUSPECT timeout="1500"/>
+            <BARRIER/>
+            <pbcast.NAKACK use_mcast_xmit="false" gc_lag="0"
+                           retransmit_timeout="300,600,1200,2400,4800"
+                           discard_delivered_msgs="true"/>
+            <UNICAST timeout="300,600,1200,2400,3600"/>
+            <pbcast.STABLE stability_delay="1000" desired_avg_gossip="50000"
+                           max_bytes="400000"/>
+            <VIEW_SYNC avg_send_interval="10000"/>
+
+            <pbcast.GMS print_local_addr="true" join_timeout="3000"
+                shun="true" view_bundling="true"/>
+        </config>
+    </stack>
+           
+           
+    <stack name="jbm-control_4"
+           description="Stack optimized for the JBoss Messaging Control Channel">
+       <config>
+	        <UDP
+	             singleton_name="shared-udp_4"
+	             mcast_port="${jboss.jgroups.udp.mcast_port:45688}"
+	             mcast_addr="${jgroups.udp.mcast_addr:228.11.11.11}"
+	             tos="8"
+	             ucast_recv_buf_size="20000000"
+	             ucast_send_buf_size="640000"
+	             mcast_recv_buf_size="25000000"
+	             mcast_send_buf_size="640000"
+	             loopback="true"
+	             discard_incompatible_packets="true"
+	             enable_bundling="false"
+	             max_bundle_size="64000"
+	             max_bundle_timeout="30"
+	             use_incoming_packet_handler="true"
+	             ip_ttl="${jgroups.udp.ip_ttl:2}"
+	             thread_naming_pattern="cl"
+	             timer.num_threads="12"
+	                         
+	             use_concurrent_stack="true"
+	        
+	             thread_pool.enabled="true"
+	             thread_pool.min_threads="20"
+	             thread_pool.max_threads="200"
+	             thread_pool.keep_alive_time="5000"
+	             thread_pool.queue_enabled="true"
+	             thread_pool.queue_max_size="1000"
+	             thread_pool.rejection_policy="discard"
+	              
+	             oob_thread_pool.enabled="true"
+	             oob_thread_pool.min_threads="1"
+	             oob_thread_pool.max_threads="20"
+	             oob_thread_pool.keep_alive_time="5000"
+	             oob_thread_pool.queue_enabled="false"
+	             oob_thread_pool.queue_max_size="100"
+	             oob_thread_pool.rejection_policy="run"/>
+            <PING timeout="2000"
+                  num_initial_members="3"/>
+            <MERGE2 max_interval="100000"
+                    min_interval="20000"/>
+            <FD_SOCK />
+            <FD timeout="6000" max_tries="5" shun="true"/>
+            <VERIFY_SUSPECT timeout="1500" />
+            <BARRIER />
+            <pbcast.NAKACK use_stats_for_retransmission="false"
+                   exponential_backoff="150"
+                   use_mcast_xmit="true" gc_lag="0"
+                   retransmit_timeout="50,300,600,1200"
+                   discard_delivered_msgs="true"/>
+            <UNICAST timeout="300,600,1200,2400,3600"/>
+            <pbcast.STABLE stability_delay="1000" desired_avg_gossip="50000"
+                           max_bytes="400000"/>
+            <VIEW_SYNC avg_send_interval="10000"/>
+            <pbcast.GMS print_local_addr="true" join_timeout="3000"
+                shun="true"
+                view_bundling="true"/>
+            <FC max_credits="500000"
+                    min_threshold="0.20"/>
+            <FRAG2 frag_size="60000"  />
+            <pbcast.STATE_TRANSFER/>
+            <pbcast.FLUSH timeout="20000"/>
+        </config>
+    </stack>
+    
+    <stack name="jbm-data_4"
+           description="Stack optimized for the JBoss Messaging Data Channel">
+        <config>
+            <TCP singleton_name="jbm-data_4"
+                 start_port="7900"
+                 loopback="true"
+                 recv_buf_size="20000000"
+                 send_buf_size="640000"
+                 discard_incompatible_packets="true"
+                 max_bundle_size="64000"
+                 max_bundle_timeout="30"
+                 use_incoming_packet_handler="true"
+                 enable_bundling="false"
+                 use_send_queues="false"
+                 sock_conn_timeout="300"
+                 skip_suspected_members="true"
+                 
+                 use_concurrent_stack="true" 
+                 
+                 thread_pool.enabled="true"
+                 thread_pool.min_threads="8"
+                 thread_pool.max_threads="200"
+                 thread_pool.keep_alive_time="5000"
+                 thread_pool.queue_enabled="true" 
+                 thread_pool.queue_max_size="500"
+                 thread_pool.rejection_policy="discard"
+                 
+                 oob_thread_pool.enabled="true"
+                 oob_thread_pool.min_threads="1"
+                 oob_thread_pool.max_threads="100" 
+                 oob_thread_pool.keep_alive_time="5000"
+                 oob_thread_pool.queue_enabled="false"
+                 oob_thread_pool.queue_max_size="100"
+                 oob_thread_pool.rejection_policy="run"/>
+            <MPING timeout="5000"
+               mcast_addr="${jboss.messaging.datachanneludpaddress,jboss.partition.udpGroup:228.6.6.6}"
+               mcast_port="${jboss.messaging.datachanneludpport:45567}"
+               ip_ttl="${jboss.messaging.ipttl:8}"
+               num_initial_members="5"
+               num_ping_requests="3"/>
+            <MERGE2 max_interval="100000" min_interval="20000"/>
+            <FD_SOCK/>
+            <FD timeout="6000" max_tries="5" shun="true"/>
+            <VERIFY_SUSPECT timeout="1500"/>
+            <BARRIER/>
+            <pbcast.NAKACK use_mcast_xmit="false" gc_lag="0"
+                           retransmit_timeout="300,600,1200,2400,4800"
+                           discard_delivered_msgs="true"/>
+            <UNICAST timeout="300,600,1200,2400,3600"/>
+            <pbcast.STABLE stability_delay="1000" desired_avg_gossip="50000"
+                           max_bytes="400000"/>
+            <VIEW_SYNC avg_send_interval="10000"/>
+
+            <pbcast.GMS print_local_addr="true" join_timeout="3000"
+                shun="true" view_bundling="true"/>
+        </config>
+    </stack>
+           
+           
 </protocol_stacks>
 
 

Modified: branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/core/PostOfficeTestBase.java
===================================================================
--- branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/core/PostOfficeTestBase.java	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/core/PostOfficeTestBase.java	2009-02-02 10:42:54 UTC (rev 5773)
@@ -44,7 +44,9 @@
 import org.jboss.messaging.core.impl.tx.TransactionRepository;
 import org.jboss.test.messaging.MessagingTestCase;
 import org.jboss.test.messaging.core.postoffice.ClusteredPersistenceServiceConfigFileJChannelFactory;
+import org.jboss.test.messaging.tools.container.ServiceConfigHelper;
 import org.jboss.test.messaging.tools.container.ServiceContainer;
+import org.jboss.test.messaging.tools.jboss.MBeanConfigurationElement;
 import org.jboss.test.messaging.util.CoreMessageFactory;
 
 /**
@@ -84,9 +86,9 @@
 
       String configFilePath = sc.getPersistenceConfigFile(true);
 
+
       ChannelFactory jChannelFactory =
-         new ClusteredPersistenceServiceConfigFileJChannelFactory(configFilePath,
-                                                                  sc.getMBeanServer());
+         new ClusteredPersistenceServiceConfigFileJChannelFactory(configFilePath, sc.getMBeanServer(), nodeID);
 
       MessagingPostOffice postOffice =
          new MessagingPostOffice(sc.getDataSource(), sc.getTransactionManager(),

Modified: branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/core/postoffice/ClusteredPersistenceServiceConfigFileJChannelFactory.java
===================================================================
--- branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/core/postoffice/ClusteredPersistenceServiceConfigFileJChannelFactory.java	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/core/postoffice/ClusteredPersistenceServiceConfigFileJChannelFactory.java	2009-02-02 10:42:54 UTC (rev 5773)
@@ -49,6 +49,8 @@
    // ... or just plain XML configuration.
    private Element controlConfig;
    private Element dataConfig;
+   
+   private final int node;
 
    // Constructors ---------------------------------------------------------------------------------
 
@@ -67,9 +69,20 @@
       throws Exception
    {
       this.configFilePath = configFilePath;
+      this.node=-1;
       init(configFilePath, mbeanServer);
    }
 
+   public ClusteredPersistenceServiceConfigFileJChannelFactory(String configFilePath,
+                                                               MBeanServer mbeanServer,
+                                                               int node)
+      throws Exception
+   {
+      this.configFilePath = configFilePath;
+      this.node=node;
+      init(configFilePath, mbeanServer);
+   }
+
    // ChannelFactory ------------------------------------------------------------------------------
 
    public Channel createControlChannel() throws Exception
@@ -140,13 +153,23 @@
             throw new IllegalStateException("Cannot find ControlChannelName");
          }
 
+         if (node > 0)
+         {
+            controlChannelName += "_" + node;
+         }
+
          String dataChannelName = (String)postOfficeConfig.getAttributeValue("DataChannelName");
-
+         
          if (dataChannelName == null)
          {
             throw new IllegalStateException("Cannot find DataChannelName");
          }
 
+         if (node > 0)
+         {
+            dataChannelName += "_" + node;
+         }
+
          try
          {
             if(mbeanServer.getMBeanInfo(channelFactoryName) != null)

Modified: branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/JMSTestCase.java
===================================================================
--- branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/JMSTestCase.java	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/JMSTestCase.java	2009-02-02 10:42:54 UTC (rev 5773)
@@ -20,113 +20,126 @@
 public class JMSTestCase extends MessagingTestCase
 {
    protected static Topic topic1;
-   
+
    protected static Topic topic2;
-   
+
    protected static Topic topic3;
-   
+
    protected static Queue queue1;
-   
+
    protected static Queue queue2;
-   
+
    protected static Queue queue3;
-   
+
    protected static Queue queue4;
-   
+
    protected static JBossConnectionFactory cf;
-   
+
    protected static InitialContext ic;
-   
+
    protected static final String defaultConf = "all";
-   
+
    protected static String conf;
-   
+
    protected String overrideConf;
-   
+
    protected boolean startMessagingServer = true;
-   	
-	protected void setUp() throws Exception
-	{
-		super.setUp();
-		
-		boolean changeServer = false;
-		
-		String newConf = null;
-					
-		if (overrideConf == null && !defaultConf.equals(conf))
-		{
-			//Going back to default
-			changeServer = true;
-			
-			newConf = defaultConf;
-		}
-		
-		if (overrideConf != null && !overrideConf.equals(conf))
-		{
-			//Applying new config
-			changeServer = true;
-			
-			newConf = overrideConf;
-		}		
-		
-		if (changeServer || !ServerManagement.isStarted(0))
-		{
-			log.info("Config has changed so stopping server with " + conf + " config and starting new one with " + newConf);
-			
-			ServerManagement.stop();
-			
-			if (changeServer)
-			{
-				conf = newConf;
-			}
-			
-			ServerManagement.start(0, conf);
-			
-			deployAndLookupAdministeredObjects();			
-		}
-		else
-		{
-			log.info("Server does not need to be changed");
-		}
-			
+
+   @Override
+   protected void setUp() throws Exception
+   {
+      super.setUp();
+
+      boolean changeServer = false;
+
+      String newConf = null;
+
+      if (overrideConf == null && !defaultConf.equals(conf))
+      {
+         // Going back to default
+         changeServer = true;
+
+         newConf = defaultConf;
+      }
+
+      if (overrideConf != null && !overrideConf.equals(conf))
+      {
+         // Applying new config
+         changeServer = true;
+
+         newConf = overrideConf;
+      }
+
+      if (changeServer || !ServerManagement.isStarted(0))
+      {
+         log.info("Config has changed so stopping server with " + conf + " config and starting new one with " + newConf);
+
+         ServerManagement.stop();
+
+         if (changeServer)
+         {
+            conf = newConf;
+         }
+
+         ServerManagement.start(0, conf);
+
+         deployAndLookupAdministeredObjects();
+      }
+      else
+      {
+         log.info("Server does not need to be changed");
+      }
+
+      checkNotEmpty();
+   }
+
+   /**
+    * @throws Exception
+    */
+   protected void checkNotEmpty() throws Exception
+   {
       checkEmpty(queue1);
       checkEmpty(queue2);
       checkEmpty(queue3);
       checkEmpty(queue4);
-      
+
       // Check no subscriptions left lying around
-            
+
       checkNoSubscriptions(topic1);
-      checkNoSubscriptions(topic2); 
-      checkNoSubscriptions(topic3); 		
-	}
-	
-	protected void tearDown() throws Exception
-	{
-		super.tearDown();
-		
-		//A few sanity checks
-		
-		if (ServerManagement.isStarted(0))
-		{			
-			if (checkNoMessageData())
-			{
-				fail("Message Data exists");
-			}
-		}
-		
-		//This will tell us if any connections have been left open
-		assertEquals(0, ResourceManagerFactory.instance.size());
-	}
+      checkNoSubscriptions(topic2);
+      checkNoSubscriptions(topic3);
+   }
 
-	public JMSTestCase(String name)
-	{
-		super(name);
-	}
-	
-	protected void deployAndLookupAdministeredObjects() throws Exception
-	{
-		ServerManagement.deployTopic("Topic1");
+   @Override
+   protected void tearDown() throws Exception
+   {
+      super.tearDown();
+
+      // A few sanity checks
+
+      if (ServerManagement.isStarted(0))
+      {
+         if (checkNoMessageData())
+         {
+            fail("Message Data exists");
+         }
+
+         checkNotEmpty();
+      }
+
+      // This will tell us if any connections have been left open
+      assertEquals(0, ResourceManagerFactory.instance.size());
+
+   }
+
+   public JMSTestCase(final String name)
+   {
+      super(name);
+   }
+
+   protected void deployAndLookupAdministeredObjects() throws Exception
+   {
+      ServerManagement.deployTopic("Topic1");
       ServerManagement.deployTopic("Topic2");
       ServerManagement.deployTopic("Topic3");
       ServerManagement.deployQueue("Queue1");
@@ -143,5 +156,5 @@
       queue2 = (Queue)ic.lookup("/queue/Queue2");
       queue3 = (Queue)ic.lookup("/queue/Queue3");
       queue4 = (Queue)ic.lookup("/queue/Queue4");
-	}
+   }
 }

Modified: branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/RemotingConnectionConfigurationTest.java
===================================================================
--- branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/RemotingConnectionConfigurationTest.java	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/RemotingConnectionConfigurationTest.java	2009-02-02 10:42:54 UTC (rev 5773)
@@ -1,212 +1,206 @@
-/*
-  * JBoss, Home of Professional Open Source
-  * Copyright 2005, JBoss Inc., and individual contributors as indicated
-  * by the @authors tag. See the copyright.txt in the distribution for a
-  * full listing of individual contributors.
-  *
-  * This is free software; you can redistribute it and/or modify it
-  * under the terms of the GNU Lesser General Public License as
-  * published by the Free Software Foundation; either version 2.1 of
-  * the License, or (at your option) any later version.
-  *
-  * This software is distributed in the hope that it will be useful,
-  * but WITHOUT ANY WARRANTY; without even the implied warranty of
-  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-  * Lesser General Public License for more details.
-  *
-  * You should have received a copy of the GNU Lesser General Public
-  * License along with this software; if not, write to the Free
-  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-  */
-package org.jboss.test.messaging.jms;
-
-import java.lang.reflect.Field;
-import java.net.InetAddress;
-import java.util.HashSet;
-import java.util.Map;
-
-import org.jboss.jms.client.JBossConnection;
-import org.jboss.jms.client.delegate.ClientConnectionDelegate;
-import org.jboss.jms.client.remoting.JMSRemotingConnection;
-import org.jboss.remoting.Client;
-import org.jboss.remoting.InvokerLocator;
-import org.jboss.remoting.callback.CallbackPoller;
-import org.jboss.remoting.callback.InvokerCallbackHandler;
-import org.jboss.remoting.transport.Connector;
-import org.jboss.remoting.transport.PortUtil;
-import org.jboss.test.messaging.tools.ServerManagement;
-import org.jboss.test.messaging.tools.container.ServiceContainer;
-
-/**
- *  
- * @author <a href="ron.sigal at jboss.com">Ron Sigal</a>
- * @author <a href="ovidiu at feodorov.com">Ovidiu Feodorov</a>
- *
- * $Id$
- */
-public class RemotingConnectionConfigurationTest extends JMSTestCase
-{
-   // Constants -----------------------------------------------------
-
-   // Static --------------------------------------------------------
-
-   // Attributes ----------------------------------------------------
-
-   // Constructors --------------------------------------------------
-
-   public RemotingConnectionConfigurationTest(String name)
-   {
-      super(name);
-   }
-   // Public --------------------------------------------------------
-
-   /**
-    * It only makes sense to run remote. Exclude it from "invm-tests" target configuration.
-    */
-   public void testDefaultHTTPCallbackPollPeriod() throws Exception
-   {
-      if (!ServerManagement.isRemote())
-      {
-         return;
-      }
-
-      JBossConnection connection = null;
-
-      try
-      {
-         connection = (JBossConnection)cf.createConnection();
-         connection.start();
-
-         ClientConnectionDelegate delegate = (ClientConnectionDelegate)connection.getDelegate();
-         JMSRemotingConnection remotingConnection = delegate.getRemotingConnection();
-         Client client = remotingConnection.getRemotingClient();
-
-         Field field = JMSRemotingConnection.class.getDeclaredField("serverLocator");
-         field.setAccessible(true);
-         InvokerLocator locator = (InvokerLocator)field.get(remotingConnection);
-         String transport = locator.getProtocol();
-
-         if (!"http".equals(transport))
-         {
-            // not interesting
-            return;
-         }
-
-         field = Client.class.getDeclaredField("callbackPollers");
-         field.setAccessible(true);
-         Map callbackPollers = (Map)field.get(client);
-         assertEquals(1, callbackPollers.size());
-
-         CallbackPoller callbackPoller = (CallbackPoller)callbackPollers.values().iterator().next();
-
-         field = CallbackPoller.class.getDeclaredField("pollPeriod");
-         field.setAccessible(true);
-         Long pollPeriod = (Long)field.get(callbackPoller);
-         assertEquals(ServiceContainer.HTTP_CONNECTOR_CALLBACK_POLL_PERIOD, pollPeriod.longValue());
-      }
-      finally
-      {
-         if (connection != null)
-         {
-            connection.close();
-         }
-      }
-   }
-
-
-   /**
-    * It only makes sense to run remote. Exclude it from "invm-tests" target configuration.
-    */
-   public void testConnectionConfiguration() throws Exception
-   {
-      if (!ServerManagement.isRemote())
-      {
-         return;
-      }
-
-      JBossConnection connection = null;
-
-      try
-      {
-         String address = InetAddress.getLocalHost().getHostAddress();
-         System.setProperty("jboss.messaging.callback.bind.address", address);
-         
-         int freePort = PortUtil.findFreePort(InetAddress.getLocalHost().getHostName());
-         System.setProperty("jboss.messaging.callback.bind.port", Integer.toString(freePort));
-
-         String pollPeriod = "654";
-         System.setProperty("jboss.messaging.callback.pollPeriod", pollPeriod);
-
-         System.setProperty("jboss.messaging.callback.reportPollingStatistics", "true");
-         
-         connection = (JBossConnection)cf.createConnection();
-         connection.start();
-
-         ClientConnectionDelegate delegate = (ClientConnectionDelegate)connection.getDelegate();
-         JMSRemotingConnection remotingConnection = delegate.getRemotingConnection();
-         Client client = remotingConnection.getRemotingClient();
-
-         Field field = JMSRemotingConnection.class.getDeclaredField("serverLocator");
-         field.setAccessible(true);
-         InvokerLocator locator = (InvokerLocator)field.get(remotingConnection);
-         String transport = locator.getProtocol();
-
-         if ("socket".equals(transport)
-               || "sslsocket".equals(transport)
-               || "bisocket".equals(transport)
-               || "sslbisocket".equals(transport))
-         {
-            field = Client.class.getDeclaredField("callbackConnectors");
-            field.setAccessible(true);
-            Map callbackConnectors = (Map)field.get(client);
-
-            InvokerCallbackHandler callbackHandler = remotingConnection.getCallbackManager();
-            HashSet map = (HashSet) callbackConnectors.get(callbackHandler);
-            Connector connector = (Connector)map.iterator().next();
-            locator = new InvokerLocator(connector.getInvokerLocator());
-            assertEquals(address, locator.getHost());
-            assertEquals(freePort, locator.getPort());
-         }
-         else if ("http".equals(transport))
-         {
-            field = Client.class.getDeclaredField("callbackPollers");
-            field.setAccessible(true);
-            Map callbackPollers = (Map)field.get(client);
-            assertEquals(1, callbackPollers.size());
-
-            CallbackPoller callbackPoller =
-               (CallbackPoller)callbackPollers.values().iterator().next();
-
-            field = CallbackPoller.class.getDeclaredField("pollPeriod");
-            field.setAccessible(true);
-
-            assertEquals(pollPeriod, ((Long)field.get(callbackPoller)).toString());
-            
-            field = CallbackPoller.class.getDeclaredField("reportStatistics");
-            field.setAccessible(true);
-            assertEquals(true, ((Boolean) field.get(callbackPoller)).booleanValue());
-         }
-         else
-         {
-            fail("Unrecognized transport: " + transport);
-         }
-      }
-      finally
-      {
-         if (connection != null)
-         {
-            connection.close();
-         }
-         
-         System.clearProperty("jboss.messaging.callback.bind.address");
-         
-         System.clearProperty("jboss.messaging.callback.bind.port");
-
-         System.clearProperty("jboss.messaging.callback.pollPeriod");
-
-         System.clearProperty("jboss.messaging.callback.reportPollingStatistics");
-         
-      }
-   }
-}
+/*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2005, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt in the distribution for a
+  * full listing of individual contributors.
+  *
+  * This is free software; you can redistribute it and/or modify it
+  * under the terms of the GNU Lesser General Public License as
+  * published by the Free Software Foundation; either version 2.1 of
+  * the License, or (at your option) any later version.
+  *
+  * This software is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  * Lesser General Public License for more details.
+  *
+  * You should have received a copy of the GNU Lesser General Public
+  * License along with this software; if not, write to the Free
+  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  */
+package org.jboss.test.messaging.jms;
+
+import java.lang.reflect.Field;
+import java.net.InetAddress;
+import java.util.HashSet;
+import java.util.Map;
+
+import org.jboss.jms.client.JBossConnection;
+import org.jboss.jms.client.delegate.ClientConnectionDelegate;
+import org.jboss.jms.client.remoting.JMSRemotingConnection;
+import org.jboss.remoting.Client;
+import org.jboss.remoting.InvokerLocator;
+import org.jboss.remoting.callback.CallbackPoller;
+import org.jboss.remoting.callback.InvokerCallbackHandler;
+import org.jboss.remoting.transport.Connector;
+import org.jboss.remoting.transport.PortUtil;
+import org.jboss.test.messaging.tools.ServerManagement;
+import org.jboss.test.messaging.tools.container.ServiceContainer;
+
+/**
+ *  
+ * @author <a href="ron.sigal at jboss.com">Ron Sigal</a>
+ * @author <a href="ovidiu at feodorov.com">Ovidiu Feodorov</a>
+ * @author <a href="hgao at redhat.com">Howard Gao</a>
+ *
+ * $Id$
+ */
+public class RemotingConnectionConfigurationTest extends JMSTestCase
+{
+   // Constants -----------------------------------------------------
+
+   // Static --------------------------------------------------------
+
+   // Attributes ----------------------------------------------------
+
+   // Constructors --------------------------------------------------
+
+   public RemotingConnectionConfigurationTest(String name)
+   {
+      super(name);
+   }
+   // Public --------------------------------------------------------
+
+   /**
+    * It only makes sense to run remote. Exclude it from "invm-tests" target configuration.
+    */
+   //disable it because it doesn't make sense to test pollPeriod in blocking mode.
+   //see JBMESSAGING-1131 Ron's comments.
+/*
+   public void testDefaultHTTPCallbackPollPeriod() throws Exception
+   {
+      if (!ServerManagement.isRemote())
+      {
+         return;
+      }
+
+      JBossConnection connection = null;
+
+      try
+      {
+         connection = (JBossConnection)cf.createConnection();
+         connection.start();
+
+         ClientConnectionDelegate delegate = (ClientConnectionDelegate)connection.getDelegate();
+         JMSRemotingConnection remotingConnection = delegate.getRemotingConnection();
+         Client client = remotingConnection.getRemotingClient();
+
+         Field field = JMSRemotingConnection.class.getDeclaredField("serverLocator");
+         field.setAccessible(true);
+         InvokerLocator locator = (InvokerLocator)field.get(remotingConnection);
+         String transport = locator.getProtocol();
+
+         if (!"http".equals(transport))
+         {
+            // not interesting
+            return;
+         }
+
+         field = Client.class.getDeclaredField("callbackPollers");
+         field.setAccessible(true);
+         Map callbackPollers = (Map)field.get(client);
+         assertEquals(1, callbackPollers.size());
+
+         CallbackPoller callbackPoller = (CallbackPoller)callbackPollers.values().iterator().next();
+
+         field = CallbackPoller.class.getDeclaredField("pollPeriod");
+         field.setAccessible(true);
+         Long pollPeriod = (Long)field.get(callbackPoller);
+         assertEquals(ServiceContainer.HTTP_CONNECTOR_CALLBACK_POLL_PERIOD, pollPeriod.longValue());
+      }
+      finally
+      {
+         if (connection != null)
+         {
+            connection.close();
+         }
+      }
+   }
+*/
+
+   /**
+    * It only makes sense to run remote. Exclude it from "invm-tests" target configuration.
+    */
+   public void testConnectionConfiguration() throws Exception
+   {
+      if (!ServerManagement.isRemote())
+      {
+         return;
+      }
+
+      JBossConnection connection = null;
+
+      try
+      {
+         String address = InetAddress.getLocalHost().getHostAddress();
+         System.setProperty("jboss.messaging.callback.bind.address", address);
+         
+         int freePort = PortUtil.findFreePort(InetAddress.getLocalHost().getHostName());
+         System.setProperty("jboss.messaging.callback.bind.port", Integer.toString(freePort));
+
+         System.setProperty("jboss.messaging.callback.reportPollingStatistics", "true");
+         
+         connection = (JBossConnection)cf.createConnection();
+         connection.start();
+
+         ClientConnectionDelegate delegate = (ClientConnectionDelegate)connection.getDelegate();
+         JMSRemotingConnection remotingConnection = delegate.getRemotingConnection();
+         Client client = remotingConnection.getRemotingClient();
+
+         Field field = JMSRemotingConnection.class.getDeclaredField("serverLocator");
+         field.setAccessible(true);
+         InvokerLocator locator = (InvokerLocator)field.get(remotingConnection);
+         String transport = locator.getProtocol();
+
+         if ("socket".equals(transport)
+               || "sslsocket".equals(transport)
+               || "bisocket".equals(transport)
+               || "sslbisocket".equals(transport))
+         {
+            field = Client.class.getDeclaredField("callbackConnectors");
+            field.setAccessible(true);
+            Map callbackConnectors = (Map)field.get(client);
+
+            InvokerCallbackHandler callbackHandler = remotingConnection.getCallbackManager();
+            HashSet map = (HashSet) callbackConnectors.get(callbackHandler);
+            Connector connector = (Connector)map.iterator().next();
+            locator = new InvokerLocator(connector.getInvokerLocator());
+            assertEquals(address, locator.getHost());
+            assertEquals(freePort, locator.getPort());
+         }
+         else if ("http".equals(transport))
+         {
+            field = Client.class.getDeclaredField("callbackPollers");
+            field.setAccessible(true);
+            Map callbackPollers = (Map)field.get(client);
+            assertEquals(1, callbackPollers.size());
+
+            CallbackPoller callbackPoller =
+               (CallbackPoller)callbackPollers.values().iterator().next();
+
+            field = CallbackPoller.class.getDeclaredField("reportStatistics");
+            field.setAccessible(true);
+            assertEquals(true, ((Boolean) field.get(callbackPoller)).booleanValue());
+         }
+         else
+         {
+            fail("Unrecognized transport: " + transport);
+         }
+      }
+      finally
+      {
+         if (connection != null)
+         {
+            connection.close();
+         }
+         
+         System.clearProperty("jboss.messaging.callback.bind.address");
+         
+         System.clearProperty("jboss.messaging.callback.bind.port");
+
+         System.clearProperty("jboss.messaging.callback.reportPollingStatistics");
+      }
+   }
+}
+

Modified: branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/ScheduledDeliveryTest.java
===================================================================
--- branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/ScheduledDeliveryTest.java	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/ScheduledDeliveryTest.java	2009-02-02 10:42:54 UTC (rev 5773)
@@ -273,6 +273,48 @@
    }
       
          
+   //https://jira.jboss.org/jira/browse/JBMESSAGING-1460
+   public void testRemoveAllReferences() throws Exception
+   {
+      Connection conn = null;
+
+      try
+      {
+         conn = cf.createConnection();
+
+         Session sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+
+         MessageProducer prod = sess.createProducer(queue1);
+
+         // Send one scheduled
+
+         long now = System.currentTimeMillis();
+
+         TextMessage tm1 = sess.createTextMessage("testScheduled1");
+         tm1.setLongProperty(JBossMessage.JMS_JBOSS_SCHEDULED_DELIVERY_PROP_NAME, now + 5000);
+         prod.send(tm1);
+         
+         assertRemainingMessages(1);
+         
+         removeAllMessages(queue1.getQueueName(), true, 0);
+         
+         //stop the queue
+         String on = "jboss.messaging.destination:service=Queue" + ",name=" + queue1.getQueueName();
+         ServerManagement.getServer(0).invoke(new ObjectName(on), "stop", null, null);
+         
+         //start the queue again
+         ServerManagement.getServer(0).invoke(new ObjectName(on), "start", null, null);
+         
+         assertRemainingMessages(0);
+      }
+      finally
+      {
+         if (conn != null)
+         {
+            conn.close();
+         }
+      }
+   }
    // Package protected ---------------------------------------------
 
    // Protected -----------------------------------------------------

Modified: branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/XARecoveryTest.java
===================================================================
--- branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/XARecoveryTest.java	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/XARecoveryTest.java	2009-02-02 10:42:54 UTC (rev 5773)
@@ -3549,5 +3549,215 @@
          }    
       }
    }
+
+   /*
+    * https://jira.jboss.org/jira/browse/JBMESSAGING-1440
+    */
+   public void testReceivingMessageOfPreparedTransaction() throws Exception
+   {
+      log.trace("starting testReceivingMessageOfPreparedTransaction");
+
+      Connection conn1 = null;
+
+      XAConnection conn2 = null;
+
+      XAConnection conn3 = null;
+
+      XAConnection conn4 = null;
+
+      Connection conn5 = null;
+
+      try
+      {
+         //First send a message to the queue
+         conn1 = cf.createConnection();
+
+         Session sess1 = conn1.createSession(false, Session.AUTO_ACKNOWLEDGE);
+
+         MessageProducer prod = sess1.createProducer(queue4);
+         prod.setDeliveryMode(DeliveryMode.PERSISTENT);
+         TextMessage tm1 = sess1.createTextMessage("TxM1");
+
+         prod.send(tm1);
+
+         conn2 = cf.createXAConnection();
+
+         XASession sess2 = conn2.createXASession();
+
+         XAResource res1 = sess2.getXAResource();
+
+         //Pretend to be a transaction manager by interacting through the XAResources
+         Xid xid1 = new MessagingXid("tx1".getBytes(), 42, "abcdef".getBytes());
+
+         res1.start(xid1, XAResource.TMNOFLAGS);
+
+         MessageConsumer cons = sess2.createConsumer(queue4);
+
+         conn2.start();
+
+         //Consume the message
+
+         TextMessage rm1 = (TextMessage)cons.receive(1000);
+
+         assertNotNull(rm1);
+
+         assertEquals(tm1.getText(), rm1.getText());
+
+         res1.end(xid1, XAResource.TMSUCCESS);
+
+         //prepare the tx
+
+         res1.prepare(xid1);
+
+         conn1.close();
+
+         conn2.close();
+
+         conn1 = null;
+
+         conn2 = null;
+
+         //Now receive again
+
+         conn3 = cf.createXAConnection();
+
+         XASession sess3 = conn3.createXASession();
+
+         XAResource res3 = sess3.getXAResource();
+         
+         Xid xid2 = new MessagingXid("tx2".getBytes(), 42, "ghijkl".getBytes());
+
+         res3.start(xid2, XAResource.TMNOFLAGS);
+
+         MessageConsumer cons3 = sess3.createConsumer(queue4);
+
+         conn3.start();
+
+         //Consume the message
+
+         TextMessage rm3 = (TextMessage)cons3.receive(3000);
+
+         assertNull(rm3);
+
+         res3.end(xid2, XAResource.TMSUCCESS);
+         
+         res3.prepare(xid2);
+         res3.commit(xid2, false);
+
+         conn3.close();
+         conn3 = null;
+         
+         //now recover the lost message
+         ServerManagement.stopServerPeer();
+
+         ServerManagement.startServerPeer();
+
+         deployAndLookupAdministeredObjects();
+
+         //Now recover
+
+         conn4 = cf.createXAConnection();
+
+         XASession sess4 = conn4.createXASession();
+
+         XAResource res4 = sess4.getXAResource();
+
+         Xid[] xids = res4.recover(XAResource.TMSTARTRSCAN);
+         assertEquals(1, xids.length);
+
+         Xid[] xids2 = res4.recover(XAResource.TMENDRSCAN);
+         assertEquals(0, xids2.length);
+
+         assertEquals(xid1, xids[0]);
+
+         //commit the tx
+
+         res4.commit(xids[0], false);
+
+         //The message should never be received again
+
+         conn4.close();
+         conn4 = null;
+
+         conn5 = cf.createConnection();
+
+         Session sess5 = conn5.createSession(false, Session.AUTO_ACKNOWLEDGE);
+
+         MessageConsumer cons5 = sess5.createConsumer(queue4);
+
+         conn5.start();
+
+         Message m = cons5.receive(1000);
+
+         assertNull(m);
+         
+         conn5.close();
+         conn5 = null;
+         
+      }
+      finally
+      {
+         if (conn1 != null)
+         {
+            try
+            {
+               conn1.close();
+            }
+            catch (Exception e)
+            {
+               //Ignore
+            }
+         }
+
+         if (conn2 != null)
+         {
+            try
+            {
+               conn2.close();
+            }
+            catch (Exception e)
+            {
+               //Ignore
+            }
+         }
+
+         if (conn3 != null)
+         {
+            try
+            {
+               conn3.close();
+            }
+            catch (Exception e)
+            {
+               //Ignore
+            }
+         }
+
+         if (conn4 != null)
+         {
+            try
+            {
+               conn4.close();
+            }
+            catch (Exception e)
+            {
+               //Ignore
+            }
+         }
+
+         if (conn5 != null)
+         {
+            try
+            {
+               conn5.close();
+            }
+            catch (Exception e)
+            {
+               //Ignore
+            }
+         }
+      }
+   }
+
 }
 

Modified: branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/XATest.java
===================================================================
--- branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/XATest.java	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/XATest.java	2009-02-02 10:42:54 UTC (rev 5773)
@@ -21,14 +21,45 @@
   */
 package org.jboss.test.messaging.jms;
 
+import java.util.ArrayList;
+
+import javax.jms.Connection;
+import javax.jms.DeliveryMode;
+import javax.jms.JMSException;
+import javax.jms.Message;
+import javax.jms.MessageConsumer;
+import javax.jms.MessageListener;
+import javax.jms.MessageProducer;
+import javax.jms.ServerSession;
+import javax.jms.ServerSessionPool;
+import javax.jms.Session;
+import javax.jms.TextMessage;
+import javax.jms.XAConnection;
+import javax.jms.XAConnectionFactory;
+import javax.jms.XASession;
+import javax.management.ObjectName;
+import javax.naming.InitialContext;
+import javax.transaction.RollbackException;
+import javax.transaction.Transaction;
+import javax.transaction.TransactionManager;
+import javax.transaction.xa.XAException;
+import javax.transaction.xa.XAResource;
+import javax.transaction.xa.Xid;
+
 import com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionManagerImple;
+
 import org.jboss.jms.client.JBossConnection;
 import org.jboss.jms.client.JBossSession;
 import org.jboss.jms.client.delegate.ClientConnectionDelegate;
 import org.jboss.jms.client.delegate.DelegateSupport;
 import org.jboss.jms.client.state.ConnectionState;
 import org.jboss.jms.client.state.SessionState;
-import org.jboss.jms.tx.*;
+import org.jboss.jms.tx.ClientTransaction;
+import org.jboss.jms.tx.LocalTx;
+import org.jboss.jms.tx.MessagingXAResource;
+import org.jboss.jms.tx.MessagingXid;
+import org.jboss.jms.tx.ResourceManager;
+import org.jboss.jms.tx.ResourceManagerFactory;
 import org.jboss.logging.Logger;
 import org.jboss.test.messaging.tools.ServerManagement;
 import org.jboss.test.messaging.tools.container.InVMInitialContextFactory;
@@ -36,16 +67,6 @@
 import org.jboss.tm.TransactionManagerLocator;
 import org.jboss.tm.TxUtils;
 
-import javax.jms.*;
-import javax.management.ObjectName;
-import javax.naming.InitialContext;
-import javax.transaction.Transaction;
-import javax.transaction.TransactionManager;
-import javax.transaction.xa.XAException;
-import javax.transaction.xa.XAResource;
-import javax.transaction.xa.Xid;
-import java.util.ArrayList;
-
 /**
  *
  * A XATestBase
@@ -65,7 +86,7 @@
    // Static --------------------------------------------------------
 
    // Attributes ----------------------------------------------------
-  
+
    protected TransactionManager tm;
 
    protected Transaction suspendedTx;
@@ -74,26 +95,25 @@
 
    // Constructors --------------------------------------------------
 
-   public XATest(String name)
+   public XATest(final String name)
    {
       super(name);
    }
 
-
    // TestCase overrides -------------------------------------------
 
    public void setUp() throws Exception
-   { 
+   {
       super.setUp();
-      
-      ResourceManagerFactory.instance.clear();      
 
-      //Also need a local tx mgr if test is running remote
+      ResourceManagerFactory.instance.clear();
+
+      // Also need a local tx mgr if test is running remote
       if (ServerManagement.isRemote())
       {
-         sc = new ServiceContainer("transaction");         
+         sc = new ServiceContainer("transaction");
 
-         //Don't drop the tables again!
+         // Don't drop the tables again!
          sc.start(false);
       }
 
@@ -102,7 +122,7 @@
       tm = (TransactionManager)localIc.lookup(ServiceContainer.TRANSACTION_MANAGER_JNDI_NAME);
 
       assertTrue(tm instanceof TransactionManagerImple);
-     
+
       if (!ServerManagement.isRemote())
       {
          suspendedTx = tm.suspend();
@@ -110,24 +130,28 @@
    }
 
    public void tearDown() throws Exception
-   {      
+   {
       if (TxUtils.isUncommitted(tm))
       {
-         //roll it back
+         // roll it back
          try
          {
             tm.rollback();
          }
          catch (Throwable ignore)
          {
-            //The connection will probably be closed so this may well throw an exception
+            // The connection will probably be closed so this may well throw an exception
          }
       }
       if (tm.getTransaction() != null)
       {
          Transaction tx = tm.suspend();
          if (tx != null)
-            log.warn("Transaction still associated with thread " + tx + " at status " + TxUtils.getStatusAsString(tx.getStatus()));
+         {
+            log.warn("Transaction still associated with thread " + tx +
+                     " at status " +
+                     TxUtils.getStatusAsString(tx.getStatus()));
+         }
       }
 
       if (suspendedTx != null)
@@ -139,7 +163,7 @@
       {
          sc.stop();
       }
-      
+
       super.tearDown();
    }
 
@@ -161,12 +185,11 @@
 
    validate that both sets of work W1 and W2 get applied.
     */
-   //http://jira.jboss.com/jira/browse/JBMESSAGING-1221
+   // http://jira.jboss.com/jira/browse/JBMESSAGING-1221
    public void testMemoryLeakForLocalTXsWithWork() throws Exception
    {
       XAConnection conn = null;
 
-      Transaction tx1 = null;
       try
       {
 
@@ -180,12 +203,12 @@
 
          ResourceManager rm = state.getResourceManager();
 
-         //Create a session
-         JBossSession sess1 = (JBossSession) conn.createXASession();
+         // Create a session
+         JBossSession sess1 = (JBossSession)conn.createXASession();
          DummyListener listener = new DummyListener();
          sess1.setMessageListener(listener);
          conn.start();
-         MessagingXAResource res1 = (MessagingXAResource) sess1.getXAResource();
+         MessagingXAResource res1 = (MessagingXAResource)sess1.getXAResource();
          tm.begin();
 
          Transaction trans = tm.getTransaction();
@@ -194,41 +217,44 @@
          MessageProducer p = sess1.createProducer(queue1);
          MessageConsumer cons = sess1.createConsumer(queue1);
          conn.start();
-         //send 10 messages
-         for(int i = 0; i < 10; i++)
+         // send 10 messages
+         for (int i = 0; i < 10; i++)
          {
             TextMessage message = sess1.createTextMessage("delistedwork" + i);
             p.send(message);
          }
-         //now receive 5
-         for(int i = 0; i < 5; i++)
+         // now receive 5
+         for (int i = 0; i < 5; i++)
          {
-            TextMessage textMessage = (TextMessage) cons.receive();
+            TextMessage textMessage = (TextMessage)cons.receive();
             assertEquals("delistedwork" + i, textMessage.getText());
          }
-         //once we enlist ensure that the 5 acks are merged ok, the first timne we do this there is nothing to merge in the global tx
-         //so all acks are just copied
+         // once we enlist ensure that the 5 acks are merged ok, the first timne we do this there is nothing to merge in
+         // the global tx
+         // so all acks are just copied
          trans.enlistResource(res1);
          SessionState sstate = (SessionState)((DelegateSupport)sess1.getDelegate()).getState();
          ClientTransaction clientTransaction = rm.getTx(sstate.getCurrentTxId());
-         assertEquals("to many session states", clientTransaction.getSessionStates().size(), 1 );
-         ClientTransaction.SessionTxState sessionTxState = (ClientTransaction.SessionTxState) clientTransaction.getSessionStates().get(0);
-         assertEquals("wrong number of acks",5, sessionTxState.getAcks().size());
+         assertEquals("to many session states", clientTransaction.getSessionStates().size(), 1);
+         ClientTransaction.SessionTxState sessionTxState = (ClientTransaction.SessionTxState)clientTransaction.getSessionStates()
+                                                                                                              .get(0);
+         assertEquals("wrong number of acks", 5, sessionTxState.getAcks().size());
 
          trans.delistResource(res1, XAResource.TMSUCCESS);
-         for(int i = 5; i < 10; i++)
+         for (int i = 5; i < 10; i++)
          {
-            TextMessage textMessage = (TextMessage) cons.receive();
+            TextMessage textMessage = (TextMessage)cons.receive();
             assertEquals("delistedwork" + i, textMessage.getText());
          }
-         //now reenlist and make sure that there are now 10 acks, this time around a merge will be done with the first 5 acks
+         // now reenlist and make sure that there are now 10 acks, this time around a merge will be done with the first
+         // 5 acks
          //
          trans.enlistResource(res1);
 
          clientTransaction = rm.getTx(sstate.getCurrentTxId());
-         assertEquals("to many session states", clientTransaction.getSessionStates().size(), 1 );
-         sessionTxState = (ClientTransaction.SessionTxState) clientTransaction.getSessionStates().get(0);
-         assertEquals("wrong number of acks",10, sessionTxState.getAcks().size());
+         assertEquals("to many session states", clientTransaction.getSessionStates().size(), 1);
+         sessionTxState = (ClientTransaction.SessionTxState)clientTransaction.getSessionStates().get(0);
+         assertEquals("wrong number of acks", 10, sessionTxState.getAcks().size());
 
          tm.commit();
 
@@ -244,12 +270,11 @@
 
    }
 
-   //http://jira.jboss.com/jira/browse/JBMESSAGING-1221
+   // http://jira.jboss.com/jira/browse/JBMESSAGING-1221
    public void testMemoryLeakForLocalTXsOnJoinOnePhase() throws Exception
    {
       XAConnection conn = null;
 
-      Transaction tx1 = null;
       try
       {
 
@@ -263,9 +288,9 @@
 
          ResourceManager rm = state.getResourceManager();
 
-         //Create a session
+         // Create a session
          XASession sess1 = conn.createXASession();
-         MessagingXAResource res1 = (MessagingXAResource) sess1.getXAResource();
+         MessagingXAResource res1 = (MessagingXAResource)sess1.getXAResource();
          byte[] branchQualifier = new byte[] { 1, 2, 3, 4, 5, 6, 0, 0, 0, 0 };
          byte[] globalTxId = new byte[] { 6, 5, 4, 3, 2, 1, 0, 0, 0, 0 };
          int rmSizeBeforeStart = rm.size();
@@ -292,12 +317,12 @@
       }
 
    }
-   //http://jira.jboss.com/jira/browse/JBMESSAGING-1221
+
+   // http://jira.jboss.com/jira/browse/JBMESSAGING-1221
    public void testMemoryLeakForLocalTXsOnJoinTwoPhase() throws Exception
    {
       XAConnection conn = null;
 
-      Transaction tx1 = null;
       try
       {
 
@@ -311,9 +336,9 @@
 
          ResourceManager rm = state.getResourceManager();
 
-         //Create a session
+         // Create a session
          XASession sess1 = conn.createXASession();
-         MessagingXAResource res1 = (MessagingXAResource) sess1.getXAResource();
+         MessagingXAResource res1 = (MessagingXAResource)sess1.getXAResource();
          byte[] branchQualifier = new byte[] { 1, 2, 3, 4, 5, 6, 0, 0, 0, 0 };
          byte[] globalTxId = new byte[] { 6, 5, 4, 3, 2, 1, 0, 0, 0, 0 };
          int rmSizeBeforeStart = rm.size();
@@ -341,12 +366,67 @@
       }
 
    }
-   //http://jira.jboss.com/jira/browse/JBMESSAGING-1221
+
+   public void testTransactionRollbackAfterClosingAConnectionWithEnlistedResource() throws Exception
+   {
+      XAConnection conn = null;
+      XAConnection conn2 = null;
+
+      try
+      {
+
+         conn = cf.createXAConnection();
+
+         // Create a session
+         XASession sess1 = conn.createXASession();
+         XAResource res1 = (XAResource)sess1.getXAResource();
+         
+         tm.begin();
+         
+         Transaction transaction = tm.getTransaction();
+         transaction.enlistResource(res1);
+                  
+         // a remoting exception occurs -> we close the connection         
+         conn.close();
+         // and we create a new one
+         conn2 = cf.createXAConnection();
+
+         XASession sess2 = conn2.createXASession();
+         XAResource res2 = (XAResource)sess2.getXAResource();
+         
+         assertFalse(res2.isSameRM(res1));
+         transaction.enlistResource(res2);
+
+         assertFalse(transaction.delistResource(res1, XAResource.TMSUCCESS));
+         assertTrue(transaction.delistResource(res2, XAResource.TMSUCCESS));
+         
+         try {
+            transaction.commit();
+            fail("transaction must roll back since res1 was not properly delisted");
+         } 
+         catch (RollbackException e)
+         {
+         }
+      }
+      finally
+      {
+         if (conn != null)
+         {
+            conn.close();
+         }
+         if (conn2 != null)
+         {
+            conn2.close();
+         }
+
+      }
+   }
+   
+   // http://jira.jboss.com/jira/browse/JBMESSAGING-1221
    public void testMemoryLeakForLocalTXsOnResumeOnePhase() throws Exception
    {
       XAConnection conn = null;
 
-      Transaction tx1 = null;
       try
       {
 
@@ -360,9 +440,9 @@
 
          ResourceManager rm = state.getResourceManager();
 
-         //Create a session
+         // Create a session
          XASession sess1 = conn.createXASession();
-         MessagingXAResource res1 = (MessagingXAResource) sess1.getXAResource();
+         MessagingXAResource res1 = (MessagingXAResource)sess1.getXAResource();
          byte[] branchQualifier = new byte[] { 1, 2, 3, 4, 5, 6, 0, 0, 0, 0 };
          byte[] globalTxId = new byte[] { 6, 5, 4, 3, 2, 1, 0, 0, 0, 0 };
          int rmSizeBeforeStart = rm.size();
@@ -389,12 +469,12 @@
       }
 
    }
-   //http://jira.jboss.com/jira/browse/JBMESSAGING-1221
+
+   // http://jira.jboss.com/jira/browse/JBMESSAGING-1221
    public void testMemoryLeakForLocalTXsOnJResumeTwoPhase() throws Exception
    {
       XAConnection conn = null;
 
-      Transaction tx1 = null;
       try
       {
 
@@ -408,9 +488,9 @@
 
          ResourceManager rm = state.getResourceManager();
 
-         //Create a session
+         // Create a session
          XASession sess1 = conn.createXASession();
-         MessagingXAResource res1 = (MessagingXAResource) sess1.getXAResource();
+         MessagingXAResource res1 = (MessagingXAResource)sess1.getXAResource();
          byte[] branchQualifier = new byte[] { 1, 2, 3, 4, 5, 6, 0, 0, 0, 0 };
          byte[] globalTxId = new byte[] { 6, 5, 4, 3, 2, 1, 0, 0, 0, 0 };
          int rmSizeBeforeStart = rm.size();
@@ -438,6 +518,7 @@
       }
 
    }
+
    /* If there is no global tx present the send must behave as non transacted.
     * See http://www.jboss.com/index.html?module=bb&op=viewtopic&t=98577&postdays=0&postorder=asc&start=0
     * http://jira.jboss.com/jira/browse/JBMESSAGING-410
@@ -461,7 +542,7 @@
          XAConnection xconn = xcf.createXAConnection();
 
          XASession xs = xconn.createXASession();
-         
+
          MessageProducer p = xs.createProducer(queue1);
          Message m = xs.createTextMessage("one");
 
@@ -489,7 +570,6 @@
       }
    }
 
-
    /*
     * If messages are consumed using an XASession that is not enlisted in a transaction then the behaviour of the session
     * falls back to being AUTO_ACK - i.e. the messages will get acked immediately.
@@ -533,7 +613,7 @@
       try
       {
          ObjectName queueMBean = new ObjectName("jboss.messaging.destination:service=Queue,name=Queue1");
-         Integer count = (Integer) ServerManagement.getAttribute(queueMBean, "MessageCount");
+         Integer count = (Integer)ServerManagement.getAttribute(queueMBean, "MessageCount");
          assertEquals(1, count.intValue());
 
          // using XA with a ConnectionConsumer (testing the transaction behavior under MDBs)
@@ -553,7 +633,7 @@
          assertEquals(1, listener.messages.size());
 
          // Message should still be on server
-         count = (Integer) ServerManagement.getAttribute(queueMBean, "MessageCount");
+         count = (Integer)ServerManagement.getAttribute(queueMBean, "MessageCount");
          assertEquals(1, count.intValue());
 
          XAResource resource = xasession.getXAResource();
@@ -581,7 +661,7 @@
          trans.commit();
 
          // After commit the message should be consumed
-         count = (Integer) ServerManagement.getAttribute(queueMBean, "MessageCount");
+         count = (Integer)ServerManagement.getAttribute(queueMBean, "MessageCount");
          assertEquals(0, count.intValue());
       }
       finally
@@ -596,8 +676,7 @@
          }
       }
    }
-   
-   
+
    /*
     * If messages are consumed using an XASession that is not enlisted in a transaction then the behaviour of the session
     * falls back to being AUTO_ACK - i.e. the messages will get acked immediately.
@@ -657,11 +736,11 @@
          TextMessage rm = (TextMessage)c.receive(1000);
 
          assertEquals("one", rm.getText());
-         
+
          // messages should be acked
          count = (Integer)ServerManagement.getAttribute(queueMBean, "MessageCount");
          assertEquals(0, count.intValue());
-         
+
          xconn.close();
       }
       finally
@@ -673,7 +752,6 @@
          }
       }
    }
-   
 
    /*
     * If messages are consumed using an XASession that is not enlisted in a transaction then the behaviour of the session
@@ -842,7 +920,7 @@
 
          // I can't call xasession.close for this test as JCA layer would cache the session
          // So.. keep this close commented!
-         //xasession.close();
+         // xasession.close();
 
          count = (Integer)ServerManagement.getAttribute(queueMBean, "MessageCount");
          assertEquals(0, count.intValue());
@@ -856,7 +934,7 @@
       }
    }
 
-   //See http://jira.jboss.com/jira/browse/JBMESSAGING-638
+   // See http://jira.jboss.com/jira/browse/JBMESSAGING-638
    public void testResourceManagerMemoryLeakOnCommit() throws Exception
    {
       XAConnection xaConn = null;
@@ -918,7 +996,7 @@
       }
    }
 
-   //See http://jira.jboss.com/jira/browse/JBMESSAGING-638
+   // See http://jira.jboss.com/jira/browse/JBMESSAGING-638
    public void testResourceManagerMemoryLeakOnRollback() throws Exception
    {
       XAConnection xaConn = null;
@@ -990,10 +1068,10 @@
       try
       {
 
-         //First send some messages to a queue
+         // First send some messages to a queue
 
          ObjectName queueMBean = new ObjectName("jboss.messaging.destination:service=Queue,name=Queue1");
-         Integer count = (Integer) ServerManagement.getAttribute(queueMBean, "MessageCount");
+         Integer count = (Integer)ServerManagement.getAttribute(queueMBean, "MessageCount");
          assertEquals(0, count.intValue());
 
          conn = cf.createConnection();
@@ -1010,7 +1088,7 @@
 
          prod.send(tm2);
 
-         count = (Integer) ServerManagement.getAttribute(queueMBean, "MessageCount");
+         count = (Integer)ServerManagement.getAttribute(queueMBean, "MessageCount");
          assertEquals(2, count.intValue());
 
          xaConn = cf.createXAConnection();
@@ -1031,15 +1109,15 @@
 
          assertEquals(2, listener.messages.size());
 
-         assertEquals("message1", ((TextMessage)(listener.messages.get(0))).getText());
-         assertEquals("message2", ((TextMessage)(listener.messages.get(1))).getText());
+         assertEquals("message1", ((TextMessage)listener.messages.get(0)).getText());
+         assertEquals("message2", ((TextMessage)listener.messages.get(1)).getText());
 
-         count = (Integer) ServerManagement.getAttribute(queueMBean, "MessageCount");
+         count = (Integer)ServerManagement.getAttribute(queueMBean, "MessageCount");
          assertEquals(2, count.intValue());
 
          listener.messages.clear();
 
-         //Now we enlist the session in an xa transaction
+         // Now we enlist the session in an xa transaction
 
          XAResource res = xaSession.getXAResource();
 
@@ -1048,25 +1126,26 @@
          Transaction tx = tm.getTransaction();
          tx.enlistResource(res);
 
-         //This should cause the work done previously to be converted into work done in the xa transaction
-         //this is what an MDB does
-         //There is a difficulty in transactional delivery with an MDB.
-         //The message is received from the destination and then sent to the mdb container so
-         //it can call onMessage.
-         //For transactional delivery the receipt of the message should be in a transaction but by the time
-         //the mdb container is invoked the message has already been received it is too late - the message
-         //has already been received and passed on (see page 199 (chapter 5 JMS and Transactions, section "Application Server Integration"
-         //of Mark Little's book Java Transaction processing
-         //for a discussion of how different app serves deal with this)
-         //The way jboss messaging (and jboss mq) deals with this is to convert any work done
-         //prior to when the xasession is enlisted in the tx, into work done in the xa tx
+         // This should cause the work done previously to be converted into work done in the xa transaction
+         // this is what an MDB does
+         // There is a difficulty in transactional delivery with an MDB.
+         // The message is received from the destination and then sent to the mdb container so
+         // it can call onMessage.
+         // For transactional delivery the receipt of the message should be in a transaction but by the time
+         // the mdb container is invoked the message has already been received it is too late - the message
+         // has already been received and passed on (see page 199 (chapter 5 JMS and Transactions, section
+         // "Application Server Integration"
+         // of Mark Little's book Java Transaction processing
+         // for a discussion of how different app serves deal with this)
+         // The way jboss messaging (and jboss mq) deals with this is to convert any work done
+         // prior to when the xasession is enlisted in the tx, into work done in the xa tx
 
          tx.delistResource(res, XAResource.TMSUCCESS);
 
-         //Now rollback the tx - this should cause redelivery of the two messages
+         // Now rollback the tx - this should cause redelivery of the two messages
          tm.rollback();
 
-         count = (Integer) ServerManagement.getAttribute(queueMBean, "MessageCount");
+         count = (Integer)ServerManagement.getAttribute(queueMBean, "MessageCount");
          assertEquals(2, count.intValue());
 
          Thread.sleep(1000);
@@ -1086,7 +1165,7 @@
 
          assertEquals(0, listener.messages.size());
 
-         count = (Integer) ServerManagement.getAttribute(queueMBean, "MessageCount");
+         count = (Integer)ServerManagement.getAttribute(queueMBean, "MessageCount");
          assertEquals(0, count.intValue());
 
          assertNull(tm.getTransaction());
@@ -1103,16 +1182,17 @@
             xaConn.close();
          }
 
-        /* if (suspended != null)
-         {
-            tm.resume(suspended);
-         }*/
+         /* if (suspended != null)
+          {
+             tm.resume(suspended);
+          }*/
       }
    }
 
-   //http://jira.jboss.com/jira/browse/JBMESSAGING-721
+   // http://jira.jboss.com/jira/browse/JBMESSAGING-721
    // Note: The behavior of this test was changed after http://jira.jboss.com/jira/browse/JBMESSAGING-946
-   // When you have a XASession without a transaction enlisted we will behave the same way as non transactedSession, AutoAck
+   // When you have a XASession without a transaction enlisted we will behave the same way as non transactedSession,
+   // AutoAck
    public void testTransactionIdSetAfterCommit() throws Exception
    {
       Connection conn = null;
@@ -1121,7 +1201,7 @@
 
       try
       {
-         //First send some messages to a queue
+         // First send some messages to a queue
 
          conn = cf.createConnection();
 
@@ -1137,7 +1217,6 @@
 
          prod.send(tm2);
 
-
          xaConn = cf.createXAConnection();
 
          XASession xaSession = xaConn.createXASession();
@@ -1146,7 +1225,7 @@
 
          MessageConsumer cons = xaSession.createConsumer(queue1);
 
-         //Now we enlist the session in an xa transaction
+         // Now we enlist the session in an xa transaction
 
          XAResource res = xaSession.getXAResource();
 
@@ -1157,15 +1236,15 @@
 
          tx.delistResource(res, XAResource.TMSUCCESS);
 
-         //Then we do a commit
+         // Then we do a commit
          tm.commit();
 
          // I have changed where this begin was originally set
          // as when you don't have a resource enlisted, XASessions will act as
          // non transacted + AutoAck
 
-         //And enlist again - this should convert the work done in the local tx
-         //into the global branch
+         // And enlist again - this should convert the work done in the local tx
+         // into the global branch
 
          tx = tm.getTransaction();
 
@@ -1174,7 +1253,7 @@
          tx = tm.getTransaction();
          tx.enlistResource(res);
 
-         //Then we receive the messages outside the tx
+         // Then we receive the messages outside the tx
 
          TextMessage rm1 = (TextMessage)cons.receive(1000);
 
@@ -1194,7 +1273,7 @@
 
          tx.delistResource(res, XAResource.TMSUCCESS);
 
-         //Now rollback the tx - this should cause redelivery of the two messages
+         // Now rollback the tx - this should cause redelivery of the two messages
          tx.rollback();
 
          rm1 = (TextMessage)cons.receive(1000);
@@ -1228,7 +1307,7 @@
 
    }
 
-   //http://jira.jboss.com/jira/browse/JBMESSAGING-721
+   // http://jira.jboss.com/jira/browse/JBMESSAGING-721
    public void testTransactionIdSetAfterRollback() throws Exception
    {
       Connection conn = null;
@@ -1237,7 +1316,7 @@
 
       try
       {
-         //First send some messages to a queue
+         // First send some messages to a queue
 
          conn = cf.createConnection();
 
@@ -1261,7 +1340,7 @@
 
          MessageConsumer cons = xaSession.createConsumer(queue1);
 
-         //Now we enlist the session in an xa transaction
+         // Now we enlist the session in an xa transaction
 
          XAResource res = xaSession.getXAResource();
 
@@ -1271,12 +1350,12 @@
          tx.enlistResource(res);
          tx.delistResource(res, XAResource.TMSUCCESS);
 
-         //Then we do a rollback
+         // Then we do a rollback
          tm.rollback();
 
          tm.begin();
 
-         //And enlist again - the work should then be converted into the global tx branch
+         // And enlist again - the work should then be converted into the global tx branch
 
          // I have changed where this begin was originally set
          // as when you don't have a resource enlisted, XASessions will act as
@@ -1286,7 +1365,7 @@
 
          tx.enlistResource(res);
 
-         //Then we receive the messages outside the global tx
+         // Then we receive the messages outside the global tx
 
          TextMessage rm1 = (TextMessage)cons.receive(1000);
 
@@ -1305,7 +1384,7 @@
          assertNull(rm3);
          tx.delistResource(res, XAResource.TMSUCCESS);
 
-         //Now rollback the tx - this should cause redelivery of the two messages
+         // Now rollback the tx - this should cause redelivery of the two messages
          tx.rollback();
 
          rm1 = (TextMessage)cons.receive(1000);
@@ -1376,16 +1455,16 @@
 
          res1.prepare(trailing);
 
-         //Now "crash" the server
+         // Now "crash" the server
 
          ServerManagement.stopServerPeer();
 
          ServerManagement.startServerPeer();
 
          deployAndLookupAdministeredObjects();
-         
+
          conn1.close();
-         
+
          conn1 = cf.createXAConnection();
 
          XAResource res = conn1.createXASession().getXAResource();
@@ -1409,7 +1488,7 @@
       finally
       {
          removeAllMessages(queue1.getQueueName(), true, 0);
-      	
+
          if (conn1 != null)
          {
             try
@@ -1418,7 +1497,7 @@
             }
             catch (Exception e)
             {
-               //Ignore
+               // Ignore
             }
          }
       }
@@ -1426,7 +1505,7 @@
 
    public void test2PCSendCommit1PCOptimization() throws Exception
    {
-      //Since both resources have some RM, TM will probably use 1PC optimization
+      // Since both resources have some RM, TM will probably use 1PC optimization
 
       XAConnection conn = null;
       Connection conn2 = null;
@@ -1482,8 +1561,6 @@
       }
    }
 
-
-
    public void test2PCSendCommit() throws Exception
    {
       XAConnection conn = null;
@@ -1500,7 +1577,7 @@
          MessagingXAResource res = (MessagingXAResource)sess.getXAResource();
          XAResource res2 = new DummyXAResource();
 
-         //To prevent 1PC optimization being used
+         // To prevent 1PC optimization being used
          res.setPreventJoining(true);
 
          Transaction tx = tm.getTransaction();
@@ -1543,10 +1620,9 @@
       }
    }
 
-
    public void test2PCSendRollback1PCOptimization() throws Exception
    {
-      //Since both resources have some RM, TM will probably use 1PC optimization
+      // Since both resources have some RM, TM will probably use 1PC optimization
 
       XAConnection conn = null;
       Connection conn2 = null;
@@ -1598,7 +1674,6 @@
       }
    }
 
-
    public void test2PCSendFailOnPrepare() throws Exception
    {
       XAConnection conn = null;
@@ -1612,7 +1687,7 @@
          XASession sess = conn.createXASession();
          MessagingXAResource res = (MessagingXAResource)sess.getXAResource();
 
-         //prevent 1Pc optimisation
+         // prevent 1Pc optimisation
          res.setPreventJoining(true);
 
          XAResource res2 = new DummyXAResource(true);
@@ -1645,7 +1720,7 @@
          }
          catch (Exception e)
          {
-            //We should expect this
+            // We should expect this
          }
 
          conn2 = cf.createConnection();
@@ -1681,7 +1756,7 @@
          XASession sess = conn.createXASession();
          MessagingXAResource res = (MessagingXAResource)sess.getXAResource();
 
-         //prevent 1Pc optimisation
+         // prevent 1Pc optimisation
          res.setPreventJoining(true);
 
          XAResource res2 = new DummyXAResource();
@@ -1725,7 +1800,7 @@
 
    public void test2PCReceiveCommit1PCOptimization() throws Exception
    {
-      //Since both resources have some RM, TM will probably use 1PC optimization
+      // Since both resources have some RM, TM will probably use 1PC optimization
 
       XAConnection conn = null;
       Connection conn2 = null;
@@ -1735,7 +1810,7 @@
          conn2 = cf.createConnection();
          conn2.start();
          Session sessProducer = conn2.createSession(false, Session.AUTO_ACKNOWLEDGE);
-         MessageProducer prod  = sessProducer.createProducer(queue1);
+         MessageProducer prod = sessProducer.createProducer(queue1);
          Message m = sessProducer.createTextMessage("XATest1");
          prod.send(m);
          m = sessProducer.createTextMessage("XATest2");
@@ -1757,7 +1832,6 @@
 
          MessageConsumer cons = sess.createConsumer(queue1);
 
-
          TextMessage m2 = (TextMessage)cons.receive(MAX_TIMEOUT);
 
          assertNotNull(m2);
@@ -1773,7 +1847,7 @@
 
          tm.commit();
 
-         //New tx
+         // New tx
          tm.begin();
          tx = tm.getTransaction();
          tx.enlistResource(res);
@@ -1812,7 +1886,7 @@
          conn2 = cf.createConnection();
          conn2.start();
          Session sessProducer = conn2.createSession(false, Session.AUTO_ACKNOWLEDGE);
-         MessageProducer prod  = sessProducer.createProducer(queue1);
+         MessageProducer prod = sessProducer.createProducer(queue1);
          Message m = sessProducer.createTextMessage("XATest1");
          prod.send(m);
          m = sessProducer.createTextMessage("XATest2");
@@ -1835,7 +1909,6 @@
 
          MessageConsumer cons = sess.createConsumer(queue1);
 
-
          TextMessage m2 = (TextMessage)cons.receive(MAX_TIMEOUT);
 
          assertNotNull(m2);
@@ -1851,7 +1924,7 @@
 
          tm.commit();
 
-         //New tx
+         // New tx
          tm.begin();
          tx = tm.getTransaction();
          tx.enlistResource(res);
@@ -1882,7 +1955,7 @@
 
    public void test2PCReceiveRollback1PCOptimization() throws Exception
    {
-      //Since both resources have some RM, TM will probably use 1PC optimization
+      // Since both resources have some RM, TM will probably use 1PC optimization
 
       XAConnection conn = null;
       Connection conn2 = null;
@@ -1891,7 +1964,7 @@
       {
          conn2 = cf.createConnection();
          Session sessProducer = conn2.createSession(false, Session.AUTO_ACKNOWLEDGE);
-         MessageProducer prod  = sessProducer.createProducer(queue1);
+         MessageProducer prod = sessProducer.createProducer(queue1);
          Message m = sessProducer.createTextMessage("XATest1");
          prod.send(m);
 
@@ -1914,7 +1987,6 @@
 
          MessageConsumer cons = sess.createConsumer(queue1);
 
-
          TextMessage m2 = (TextMessage)cons.receive(MAX_TIMEOUT);
          assertNotNull(m2);
          assertEquals("XATest1", m2.getText());
@@ -1927,9 +1999,9 @@
 
          tm.rollback();
 
-         //Message should be redelivered
+         // Message should be redelivered
 
-         //New tx
+         // New tx
          tm.begin();
          tx = tm.getTransaction();
          tx.enlistResource(res);
@@ -1971,14 +2043,13 @@
       {
          conn2 = cf.createConnection();
          Session sessProducer = conn2.createSession(false, Session.AUTO_ACKNOWLEDGE);
-         MessageProducer prod  = sessProducer.createProducer(queue1);
+         MessageProducer prod = sessProducer.createProducer(queue1);
          Message m = sessProducer.createTextMessage("XATest1");
          prod.send(m);
 
          m = sessProducer.createTextMessage("XATest2");
          prod.send(m);
 
-
          conn = cf.createXAConnection();
          conn.start();
 
@@ -1996,7 +2067,6 @@
 
          MessageConsumer cons = sess.createConsumer(queue1);
 
-
          TextMessage m2 = (TextMessage)cons.receive(MAX_TIMEOUT);
          assertNotNull(m2);
          assertEquals("XATest1", m2.getText());
@@ -2009,9 +2079,9 @@
 
          tm.rollback();
 
-         //Message should be redelivered
+         // Message should be redelivered
 
-         //New tx
+         // New tx
          tm.begin();
          tx = tm.getTransaction();
          tx.enlistResource(res);
@@ -2046,7 +2116,6 @@
 
    }
 
-
    public void test1PCSendCommit() throws Exception
    {
       XAConnection conn = null;
@@ -2061,11 +2130,9 @@
          XASession sess = conn.createXASession();
          XAResource res = sess.getXAResource();
 
-
          Transaction tx = tm.getTransaction();
          tx.enlistResource(res);
 
-
          MessageProducer prod = sess.createProducer(queue1);
          prod.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
          Message m = sess.createTextMessage("XATest1");
@@ -2102,7 +2169,6 @@
 
    }
 
-
    public void test1PCSendRollback() throws Exception
    {
       XAConnection conn = null;
@@ -2161,7 +2227,7 @@
          conn2 = cf.createConnection();
          conn2.start();
          Session sessProducer = conn2.createSession(false, Session.AUTO_ACKNOWLEDGE);
-         MessageProducer prod  = sessProducer.createProducer(queue1);
+         MessageProducer prod = sessProducer.createProducer(queue1);
          Message m = sessProducer.createTextMessage("XATest1");
          prod.send(m);
          m = sessProducer.createTextMessage("XATest2");
@@ -2180,7 +2246,6 @@
 
          MessageConsumer cons = sess.createConsumer(queue1);
 
-
          TextMessage m2 = (TextMessage)cons.receive(MAX_TIMEOUT);
 
          assertNotNull(m2);
@@ -2194,7 +2259,7 @@
 
          tm.commit();
 
-         //New tx
+         // New tx
          tm.begin();
          tx = tm.getTransaction();
          tx.enlistResource(res);
@@ -2230,13 +2295,12 @@
       {
          conn2 = cf.createConnection();
          Session sessProducer = conn2.createSession(false, Session.AUTO_ACKNOWLEDGE);
-         MessageProducer prod  = sessProducer.createProducer(queue1);
+         MessageProducer prod = sessProducer.createProducer(queue1);
          Message m = sessProducer.createTextMessage("XATest1");
          prod.send(m);
          m = sessProducer.createTextMessage("XATest2");
          prod.send(m);
 
-
          conn = cf.createXAConnection();
          conn.start();
 
@@ -2250,7 +2314,6 @@
 
          MessageConsumer cons = sess.createConsumer(queue1);
 
-
          TextMessage m2 = (TextMessage)cons.receive(MAX_TIMEOUT);
 
          assertNotNull(m2);
@@ -2265,9 +2328,9 @@
 
          tm.rollback();
 
-         //Message should be redelivered
+         // Message should be redelivered
 
-         //New tx
+         // New tx
          tm.begin();
          tx = tm.getTransaction();
          tx.enlistResource(res);
@@ -2308,26 +2371,25 @@
       XAConnection conn = null;
       Connection conn2 = null;
 
-      //Since both resources have some RM, TM will probably use 1PC optimization
+      // Since both resources have some RM, TM will probably use 1PC optimization
 
       try
       {
-         //First send 2 messages
+         // First send 2 messages
          conn2 = cf.createConnection();
          Session sessProducer = conn2.createSession(false, Session.AUTO_ACKNOWLEDGE);
-         MessageProducer prod  = sessProducer.createProducer(queue1);
+         MessageProducer prod = sessProducer.createProducer(queue1);
          Message m = sessProducer.createTextMessage("jellyfish1");
          prod.send(m);
          m = sessProducer.createTextMessage("jellyfish2");
          prod.send(m);
 
-
          conn = cf.createXAConnection();
          conn.start();
 
          tm.begin();
 
-         //Create 2 sessions and enlist them
+         // Create 2 sessions and enlist them
          XASession sess1 = conn.createXASession();
          XAResource res1 = sess1.getXAResource();
          XASession sess2 = conn.createXASession();
@@ -2337,7 +2399,7 @@
          tx.enlistResource(res1);
          tx.enlistResource(res2);
 
-         //Receive the messages, one on each consumer
+         // Receive the messages, one on each consumer
          MessageConsumer cons1 = sess1.createConsumer(queue1);
          TextMessage r1 = (TextMessage)cons1.receive(MAX_TIMEOUT);
 
@@ -2355,7 +2417,7 @@
          tx.delistResource(res1, XAResource.TMSUCCESS);
          tx.delistResource(res2, XAResource.TMSUCCESS);
 
-         //commit
+         // commit
          tm.commit();
 
          Session sess = conn2.createSession(false, Session.AUTO_ACKNOWLEDGE);
@@ -2387,22 +2449,21 @@
 
       try
       {
-         //First send 2 messages
+         // First send 2 messages
          conn2 = cf.createConnection();
          Session sessProducer = conn2.createSession(false, Session.AUTO_ACKNOWLEDGE);
-         MessageProducer prod  = sessProducer.createProducer(queue1);
+         MessageProducer prod = sessProducer.createProducer(queue1);
          Message m = sessProducer.createTextMessage("jellyfish1");
          prod.send(m);
          m = sessProducer.createTextMessage("jellyfish2");
          prod.send(m);
 
-
          conn = cf.createXAConnection();
          conn.start();
 
          tm.begin();
 
-         //Create 2 sessions and enlist them
+         // Create 2 sessions and enlist them
          XASession sess1 = conn.createXASession();
          MessagingXAResource res1 = (MessagingXAResource)sess1.getXAResource();
          XASession sess2 = conn.createXASession();
@@ -2414,7 +2475,7 @@
          tx.enlistResource(res1);
          tx.enlistResource(res2);
 
-         //Receive the messages, one on each consumer
+         // Receive the messages, one on each consumer
          MessageConsumer cons1 = sess1.createConsumer(queue1);
          TextMessage r1 = (TextMessage)cons1.receive(MAX_TIMEOUT);
 
@@ -2432,7 +2493,7 @@
          tx.delistResource(res1, XAResource.TMSUCCESS);
          tx.delistResource(res2, XAResource.TMSUCCESS);
 
-         //commit
+         // commit
          tm.commit();
 
          Session sess = conn2.createSession(false, Session.AUTO_ACKNOWLEDGE);
@@ -2457,20 +2518,19 @@
 
    }
 
-
    public void testMultipleSessionsOneTxRollbackAcknowledge1PCOptimization() throws Exception
    {
       XAConnection conn = null;
       Connection conn2 = null;
 
-      //Since both resources have some RM, TM will probably use 1PC optimization
+      // Since both resources have some RM, TM will probably use 1PC optimization
 
       try
       {
-         //First send 2 messages
+         // First send 2 messages
          conn2 = cf.createConnection();
          Session sessProducer = conn2.createSession(false, Session.AUTO_ACKNOWLEDGE);
-         MessageProducer prod  = sessProducer.createProducer(queue1);
+         MessageProducer prod = sessProducer.createProducer(queue1);
          Message m = sessProducer.createTextMessage("jellyfish1");
          prod.send(m);
          m = sessProducer.createTextMessage("jellyfish2");
@@ -2480,13 +2540,12 @@
          m = sessProducer.createTextMessage("jellyfish4");
          prod.send(m);
 
-
          conn = cf.createXAConnection();
          conn.start();
 
          tm.begin();
 
-         //Create 2 sessions and enlist them
+         // Create 2 sessions and enlist them
          XASession sess1 = conn.createXASession();
          MessagingXAResource res1 = (MessagingXAResource)sess1.getXAResource();
          XASession sess2 = conn.createXASession();
@@ -2496,7 +2555,7 @@
          tx.enlistResource(res1);
          tx.enlistResource(res2);
 
-         //Receive the messages, two on each consumer
+         // Receive the messages, two on each consumer
          MessageConsumer cons1 = sess1.createConsumer(queue1);
          TextMessage r1 = (TextMessage)cons1.receive(MAX_TIMEOUT);
 
@@ -2523,18 +2582,18 @@
 
          cons2.close();
 
-         //rollback
+         // rollback
 
          tx.delistResource(res1, XAResource.TMSUCCESS);
          tx.delistResource(res2, XAResource.TMSUCCESS);
 
          tm.rollback();
 
-         //Rollback causes cancel which is asynch
+         // Rollback causes cancel which is asynch
          Thread.sleep(1000);
 
-         //We cannot assume anything about the order in which the transaction manager rollsback
-         //the sessions - this is implementation dependent
+         // We cannot assume anything about the order in which the transaction manager rollsback
+         // the sessions - this is implementation dependent
 
          Session sess = conn2.createSession(false, Session.AUTO_ACKNOWLEDGE);
          MessageConsumer cons = sess.createConsumer(queue1);
@@ -2578,7 +2637,6 @@
 
             assertEquals("jellyfish4", r.getText());
 
-
          }
          else
          {
@@ -2627,10 +2685,10 @@
 
       try
       {
-         //First send 2 messages
+         // First send 2 messages
          conn2 = cf.createConnection();
          Session sessProducer = conn2.createSession(false, Session.AUTO_ACKNOWLEDGE);
-         MessageProducer prod  = sessProducer.createProducer(queue1);
+         MessageProducer prod = sessProducer.createProducer(queue1);
          Message m = sessProducer.createTextMessage("jellyfish1");
          prod.send(m);
          m = sessProducer.createTextMessage("jellyfish2");
@@ -2640,13 +2698,12 @@
          m = sessProducer.createTextMessage("jellyfish4");
          prod.send(m);
 
-
          conn = cf.createXAConnection();
          conn.start();
 
          tm.begin();
 
-         //Create 2 sessions and enlist them
+         // Create 2 sessions and enlist them
          XASession sess1 = conn.createXASession();
          MessagingXAResource res1 = (MessagingXAResource)sess1.getXAResource();
          XASession sess2 = conn.createXASession();
@@ -2658,7 +2715,7 @@
          tx.enlistResource(res1);
          tx.enlistResource(res2);
 
-         //Receive the messages, two on each consumer
+         // Receive the messages, two on each consumer
          MessageConsumer cons1 = sess1.createConsumer(queue1);
          TextMessage r1 = (TextMessage)cons1.receive(MAX_TIMEOUT);
 
@@ -2672,7 +2729,7 @@
 
          cons1.close();
 
-         //Cancel is asynch
+         // Cancel is asynch
          Thread.sleep(500);
 
          MessageConsumer cons2 = sess2.createConsumer(queue1);
@@ -2686,7 +2743,7 @@
          assertNotNull(r2);
          assertEquals("jellyfish4", r2.getText());
 
-         //rollback
+         // rollback
 
          cons2.close();
 
@@ -2698,10 +2755,9 @@
          // Rollback causes cancel which is asynch
          Thread.sleep(1000);
 
-         //We cannot assume anything about the order in which the transaction manager rollsback
-         //the sessions - this is implementation dependent
+         // We cannot assume anything about the order in which the transaction manager rollsback
+         // the sessions - this is implementation dependent
 
-
          Session sess = conn2.createSession(false, Session.AUTO_ACKNOWLEDGE);
          MessageConsumer cons = sess.createConsumer(queue1);
          conn2.start();
@@ -2744,7 +2800,6 @@
 
             assertEquals("jellyfish4", r.getText());
 
-
          }
          else
          {
@@ -2791,10 +2846,10 @@
 
       try
       {
-         //First send 4 messages
+         // First send 4 messages
          conn2 = cf.createConnection();
          Session sessProducer = conn2.createSession(false, Session.AUTO_ACKNOWLEDGE);
-         MessageProducer prod  = sessProducer.createProducer(queue1);
+         MessageProducer prod = sessProducer.createProducer(queue1);
 
          Message m = sessProducer.createTextMessage("jellyfish1");
          prod.send(m);
@@ -2846,16 +2901,15 @@
 
          cons1.close();
 
+         // try and commit - and we're going to make the dummyxaresource throw an exception on commit,
+         // which should cause rollback to be called on the other resource
 
-         //try and commit - and we're going to make the dummyxaresource throw an exception on commit,
-         //which should cause rollback to be called on the other resource
-
          tx.delistResource(res1, XAResource.TMSUCCESS);
          tx.delistResource(res2, XAResource.TMSUCCESS);
 
-         //rollback will cause an attemp to deliver messages locally to the original consumers.
-         //the original consumer has closed, so it will cancelled to the server
-         //the server cancel is asynch, so we need to sleep for a bit to make sure it completes
+         // rollback will cause an attemp to deliver messages locally to the original consumers.
+         // the original consumer has closed, so it will cancelled to the server
+         // the server cancel is asynch, so we need to sleep for a bit to make sure it completes
          log.trace("Forcing failure");
          try
          {
@@ -2864,12 +2918,11 @@
          }
          catch (Exception e)
          {
-            //We should expect this
+            // We should expect this
          }
 
          Thread.sleep(1000);
 
-
          Session sess = conn2.createSession(false, Session.AUTO_ACKNOWLEDGE);
          MessageConsumer cons = sess.createConsumer(queue1);
          conn2.start();
@@ -2918,7 +2971,7 @@
 
    public void testMultipleSessionsOneTxCommitSend1PCOptimization() throws Exception
    {
-      //Since both resources have some RM, TM will probably use 1PC optimization
+      // Since both resources have some RM, TM will probably use 1PC optimization
 
       XAConnection conn = null;
 
@@ -2931,7 +2984,7 @@
 
          tm.begin();
 
-         //Create 2 sessions and enlist them
+         // Create 2 sessions and enlist them
          XASession sess1 = conn.createXASession();
          XAResource res1 = sess1.getXAResource();
          XASession sess2 = conn.createXASession();
@@ -2952,10 +3005,10 @@
          tx.delistResource(res1, XAResource.TMSUCCESS);
          tx.delistResource(res2, XAResource.TMSUCCESS);
 
-         //commit
+         // commit
          tm.commit();
 
-         //Messages should be in queue
+         // Messages should be in queue
 
          conn2 = cf.createConnection();
          Session sess = conn2.createSession(false, Session.AUTO_ACKNOWLEDGE);
@@ -2986,7 +3039,7 @@
 
    public void testMultipleSessionsOneTxCommitSend() throws Exception
    {
-      //Since both resources have some RM, TM will probably use 1PC optimization
+      // Since both resources have some RM, TM will probably use 1PC optimization
 
       XAConnection conn = null;
 
@@ -3000,7 +3053,7 @@
 
          tm.begin();
 
-         //Create 2 sessions and enlist them
+         // Create 2 sessions and enlist them
          XASession sess1 = conn.createXASession();
          MessagingXAResource res1 = (MessagingXAResource)sess1.getXAResource();
          XASession sess2 = conn.createXASession();
@@ -3023,10 +3076,10 @@
          tx.delistResource(res1, XAResource.TMSUCCESS);
          tx.delistResource(res2, XAResource.TMSUCCESS);
 
-         //commit
+         // commit
          tm.commit();
 
-         //Messages should be in queue
+         // Messages should be in queue
 
          conn2 = cf.createConnection();
          Session sess = conn2.createSession(false, Session.AUTO_ACKNOWLEDGE);
@@ -3057,10 +3110,9 @@
 
    }
 
-
    public void testMultipleSessionsOneTxRollbackSend1PCOptimization() throws Exception
    {
-      //Since both resources have some RM, TM will probably use 1PC optimization
+      // Since both resources have some RM, TM will probably use 1PC optimization
 
       XAConnection conn = null;
 
@@ -3073,7 +3125,7 @@
 
          tm.begin();
 
-         //Create 2 sessions and enlist them
+         // Create 2 sessions and enlist them
          XASession sess1 = conn.createXASession();
          XAResource res1 = sess1.getXAResource();
          XASession sess2 = conn.createXASession();
@@ -3094,10 +3146,10 @@
          tx.delistResource(res1, XAResource.TMSUCCESS);
          tx.delistResource(res2, XAResource.TMSUCCESS);
 
-         //rollback
+         // rollback
          tm.rollback();
 
-         //Messages should not be in queue
+         // Messages should not be in queue
 
          conn2 = cf.createConnection();
          Session sess = conn2.createSession(false, Session.AUTO_ACKNOWLEDGE);
@@ -3135,7 +3187,7 @@
 
          tm.begin();
 
-         //Create 2 sessions and enlist them
+         // Create 2 sessions and enlist them
          XASession sess1 = conn.createXASession();
          MessagingXAResource res1 = (MessagingXAResource)sess1.getXAResource();
          XASession sess2 = conn.createXASession();
@@ -3158,10 +3210,10 @@
          tx.delistResource(res1, XAResource.TMSUCCESS);
          tx.delistResource(res2, XAResource.TMSUCCESS);
 
-         //rollback
+         // rollback
          tm.rollback();
 
-         //Messages should not be in queue
+         // Messages should not be in queue
 
          conn2 = cf.createConnection();
          Session sess = conn2.createSession(false, Session.AUTO_ACKNOWLEDGE);
@@ -3184,7 +3236,6 @@
       }
    }
 
-
    public void testOneSessionTwoTransactionsCommitAcknowledge() throws Exception
    {
       XAConnection conn = null;
@@ -3193,10 +3244,10 @@
 
       try
       {
-         //First send 2 messages
+         // First send 2 messages
          conn2 = cf.createConnection();
          Session sessProducer = conn2.createSession(false, Session.AUTO_ACKNOWLEDGE);
-         MessageProducer prod  = sessProducer.createProducer(queue1);
+         MessageProducer prod = sessProducer.createProducer(queue1);
          Message m = sessProducer.createTextMessage("jellyfish1");
          prod.send(m);
          m = sessProducer.createTextMessage("jellyfish2");
@@ -3204,7 +3255,7 @@
 
          conn = cf.createXAConnection();
 
-         //Create a session
+         // Create a session
          XASession sess1 = conn.createXASession();
          XAResource res1 = sess1.getXAResource();
 
@@ -3216,13 +3267,13 @@
          Transaction tx1 = tm.getTransaction();
          tx1.enlistResource(res1);
 
-         //Receive one message in one tx
+         // Receive one message in one tx
 
          TextMessage r1 = (TextMessage)cons1.receive(MAX_TIMEOUT);
          assertNotNull(r1);
          assertEquals("jellyfish1", r1.getText());
 
-         //suspend the tx
+         // suspend the tx
          Transaction suspended = tm.suspend();
 
          tm.begin();
@@ -3230,17 +3281,17 @@
          Transaction tx2 = tm.getTransaction();
          tx2.enlistResource(res1);
 
-         //Receive 2nd message in a different tx
+         // Receive 2nd message in a different tx
          TextMessage r2 = (TextMessage)cons1.receive(MAX_TIMEOUT);
          assertNotNull(r2);
          assertEquals("jellyfish2", r2.getText());
 
          tx2.delistResource(res1, XAResource.TMSUCCESS);
 
-         //commit this transaction
+         // commit this transaction
          tm.commit();
 
-         //verify that no messages are available
+         // verify that no messages are available
          conn2.close();
          conn2 = cf.createConnection();
          Session sess = conn2.createSession(false, Session.AUTO_ACKNOWLEDGE);
@@ -3249,7 +3300,7 @@
          TextMessage r3 = (TextMessage)cons.receive(MIN_TIMEOUT);
          assertNull(r3);
 
-         //now resume the first tx and then commit it
+         // now resume the first tx and then commit it
          tm.resume(suspended);
 
          tx1.delistResource(res1, XAResource.TMSUCCESS);
@@ -3269,7 +3320,6 @@
       }
    }
 
-
    public void testOneSessionTwoTransactionsRollbackAcknowledge() throws Exception
    {
       XAConnection conn = null;
@@ -3278,10 +3328,10 @@
 
       try
       {
-         //First send 2 messages
+         // First send 2 messages
          conn2 = cf.createConnection();
          Session sessProducer = conn2.createSession(false, Session.AUTO_ACKNOWLEDGE);
-         MessageProducer prod  = sessProducer.createProducer(queue1);
+         MessageProducer prod = sessProducer.createProducer(queue1);
          Message m = sessProducer.createTextMessage("jellyfish1");
          prod.send(m);
          m = sessProducer.createTextMessage("jellyfish2");
@@ -3289,7 +3339,7 @@
 
          conn = cf.createXAConnection();
 
-         //Create a session
+         // Create a session
          XASession sess1 = conn.createXASession();
          XAResource res1 = sess1.getXAResource();
 
@@ -3301,13 +3351,13 @@
          Transaction tx1 = tm.getTransaction();
          tx1.enlistResource(res1);
 
-         //Receive one message in one tx
+         // Receive one message in one tx
 
          TextMessage r1 = (TextMessage)cons1.receive(MAX_TIMEOUT);
          assertNotNull(r1);
          assertEquals("jellyfish1", r1.getText());
 
-         //suspend the tx
+         // suspend the tx
          Transaction suspended = tm.suspend();
 
          tm.begin();
@@ -3315,7 +3365,7 @@
          Transaction tx2 = tm.getTransaction();
          tx2.enlistResource(res1);
 
-         //Receive 2nd message in a different tx
+         // Receive 2nd message in a different tx
          TextMessage r2 = (TextMessage)cons1.receive(MAX_TIMEOUT);
          assertNotNull(r2);
          assertEquals("jellyfish2", r2.getText());
@@ -3324,10 +3374,10 @@
 
          tx1.delistResource(res1, XAResource.TMSUCCESS);
 
-         //rollback this transaction
+         // rollback this transaction
          tm.rollback();
 
-         //verify that second message is available
+         // verify that second message is available
          conn2.close();
          conn2 = cf.createConnection();
          Session sess = conn2.createSession(false, Session.AUTO_ACKNOWLEDGE);
@@ -3341,12 +3391,11 @@
          r3 = (TextMessage)cons.receive(MIN_TIMEOUT);
          assertNull(r3);
 
-
-         //rollback the other tx
+         // rollback the other tx
          tm.resume(suspended);
          tm.rollback();
 
-         //Verify the first message is now available
+         // Verify the first message is now available
          r3 = (TextMessage)cons.receive(MAX_TIMEOUT);
          assertNotNull(r3);
          assertEquals("jellyfish1", r3.getText());
@@ -3369,7 +3418,6 @@
 
    }
 
-
    public void testOneSessionTwoTransactionsCommitSend() throws Exception
    {
       XAConnection conn = null;
@@ -3380,7 +3428,7 @@
       {
          conn = cf.createXAConnection();
 
-         //Create a session
+         // Create a session
          XASession sess1 = conn.createXASession();
          XAResource res1 = sess1.getXAResource();
 
@@ -3391,27 +3439,27 @@
          Transaction tx1 = tm.getTransaction();
          tx1.enlistResource(res1);
 
-         //Send a message
+         // Send a message
          prod1.send(sess1.createTextMessage("kangaroo1"));
 
-         //suspend the tx
+         // suspend the tx
          Transaction suspended = tm.suspend();
 
          tm.begin();
 
-         //Send another message in another tx using the same session
+         // Send another message in another tx using the same session
          Transaction tx2 = tm.getTransaction();
          tx2.enlistResource(res1);
 
-         //Send a message
+         // Send a message
          prod1.send(sess1.createTextMessage("kangaroo2"));
 
          tx2.delistResource(res1, XAResource.TMSUCCESS);
 
-         //commit this transaction
+         // commit this transaction
          tm.commit();
 
-         //verify only kangaroo2 message is sent
+         // verify only kangaroo2 message is sent
          conn2 = cf.createConnection();
          Session sess = conn2.createSession(false, Session.AUTO_ACKNOWLEDGE);
          conn2.start();
@@ -3422,14 +3470,14 @@
          TextMessage r2 = (TextMessage)cons.receive(MIN_TIMEOUT);
          assertNull(r2);
 
-         //now resume the first tx and then commit it
+         // now resume the first tx and then commit it
          tm.resume(suspended);
 
          tx1.delistResource(res1, XAResource.TMSUCCESS);
 
          tm.commit();
 
-         //verify that the first text message is received
+         // verify that the first text message is received
          TextMessage r3 = (TextMessage)cons.receive(MAX_TIMEOUT);
          assertNotNull(r3);
          assertEquals("kangaroo1", r3.getText());
@@ -3450,7 +3498,6 @@
 
    }
 
-
    public void testOneSessionTwoTransactionsRollbackSend() throws Exception
    {
       XAConnection conn = null;
@@ -3462,7 +3509,7 @@
 
          conn = cf.createXAConnection();
 
-         //Create a session
+         // Create a session
          XASession sess1 = conn.createXASession();
          XAResource res1 = sess1.getXAResource();
 
@@ -3473,27 +3520,27 @@
          Transaction tx1 = tm.getTransaction();
          tx1.enlistResource(res1);
 
-         //Send a message
+         // Send a message
          prod1.send(sess1.createTextMessage("kangaroo1"));
 
-         //suspend the tx
+         // suspend the tx
          Transaction suspended = tm.suspend();
 
          tm.begin();
 
-         //Send another message in another tx using the same session
+         // Send another message in another tx using the same session
          Transaction tx2 = tm.getTransaction();
          tx2.enlistResource(res1);
 
-         //Send a message
+         // Send a message
          prod1.send(sess1.createTextMessage("kangaroo2"));
 
          tx2.delistResource(res1, XAResource.TMSUCCESS);
 
-         //rollback this transaction
+         // rollback this transaction
          tm.rollback();
 
-         //verify no messages are sent
+         // verify no messages are sent
          conn2 = cf.createConnection();
          Session sess = conn2.createSession(false, Session.AUTO_ACKNOWLEDGE);
          conn2.start();
@@ -3502,15 +3549,14 @@
 
          assertNull(r1);
 
-
-         //now resume the first tx and then commit it
+         // now resume the first tx and then commit it
          tm.resume(suspended);
 
          tx1.delistResource(res1, XAResource.TMSUCCESS);
 
          tm.commit();
 
-         //verify that the first text message is received
+         // verify that the first text message is received
          TextMessage r3 = (TextMessage)cons.receive(MAX_TIMEOUT);
          assertNotNull(r3);
          assertEquals("kangaroo1", r3.getText());
@@ -3537,7 +3583,7 @@
 
    // Private -------------------------------------------------------
 
-   private void assertEqualByteArrays(byte[] b1, byte[] b2)
+   private void assertEqualByteArrays(final byte[] b1, final byte[] b2)
    {
       log.info("b1 length: " + b1.length + " b2 length " + b2.length);
 
@@ -3557,7 +3603,6 @@
 
    // Inner classes -------------------------------------------------
 
-
    static class DummyListener implements MessageListener
    {
 
@@ -3565,7 +3610,7 @@
 
       public ArrayList messages = new ArrayList();
 
-      public void onMessage(Message message)
+      public void onMessage(final Message message)
       {
          log.info("Message received on DummyListener " + message);
          messages.add(message);
@@ -3574,9 +3619,9 @@
 
    static class MockServerSessionPool implements ServerSessionPool
    {
-      private ServerSession serverSession;
+      private final ServerSession serverSession;
 
-      MockServerSessionPool(Session sess)
+      MockServerSessionPool(final Session sess)
       {
          serverSession = new MockServerSession(sess);
       }
@@ -3591,12 +3636,11 @@
    {
       Session session;
 
-      MockServerSession(Session sess)
+      MockServerSession(final Session sess)
       {
-         this.session = sess;
+         session = sess;
       }
 
-
       public Session getSession() throws JMSException
       {
          return session;
@@ -3609,8 +3653,6 @@
 
    }
 
-
-
    static class DummyXAResource implements XAResource
    {
       boolean failOnPrepare;
@@ -3619,34 +3661,34 @@
       {
       }
 
-      DummyXAResource(boolean failOnPrepare)
+      DummyXAResource(final boolean failOnPrepare)
       {
          this.failOnPrepare = failOnPrepare;
       }
 
-      public void commit(Xid arg0, boolean arg1) throws XAException
+      public void commit(final Xid arg0, final boolean arg1) throws XAException
       {
       }
 
-      public void end(Xid arg0, int arg1) throws XAException
+      public void end(final Xid arg0, final int arg1) throws XAException
       {
       }
 
-      public void forget(Xid arg0) throws XAException
+      public void forget(final Xid arg0) throws XAException
       {
       }
 
       public int getTransactionTimeout() throws XAException
       {
-          return 0;
+         return 0;
       }
 
-      public boolean isSameRM(XAResource arg0) throws XAException
+      public boolean isSameRM(final XAResource arg0) throws XAException
       {
          return false;
       }
 
-      public int prepare(Xid arg0) throws XAException
+      public int prepare(final Xid arg0) throws XAException
       {
          if (failOnPrepare)
          {
@@ -3655,21 +3697,21 @@
          return XAResource.XA_OK;
       }
 
-      public Xid[] recover(int arg0) throws XAException
+      public Xid[] recover(final int arg0) throws XAException
       {
          return null;
       }
 
-      public void rollback(Xid arg0) throws XAException
+      public void rollback(final Xid arg0) throws XAException
       {
       }
 
-      public boolean setTransactionTimeout(int arg0) throws XAException
+      public boolean setTransactionTimeout(final int arg0) throws XAException
       {
          return false;
       }
 
-      public void start(Xid arg0, int arg1) throws XAException
+      public void start(final Xid arg0, final int arg1) throws XAException
       {
 
       }

Modified: branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/bridge/BridgeMBeanTest.java
===================================================================
--- branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/bridge/BridgeMBeanTest.java	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/bridge/BridgeMBeanTest.java	2009-02-02 10:42:54 UTC (rev 5773)
@@ -35,6 +35,7 @@
 import javax.naming.InitialContext;
 
 import org.jboss.jms.server.bridge.Bridge;
+import org.jboss.jms.server.bridge.BridgeService;
 import org.jboss.logging.Logger;
 import org.jboss.test.messaging.tools.ServerManagement;
 
@@ -89,6 +90,83 @@
    	super.tearDown();
    }
    
+   //destination not available when startup
+   //https://jira.jboss.org/jira/browse/JBMESSAGING-999
+   public void testDestinationNotAvailableWhenBridgeStartup() throws Exception
+   {
+      ObjectName on = null;
+      
+      try
+      {   
+         //crash the dest server first
+         
+         log.info("About to crash server");
+         
+         ServerManagement.kill(1);
+
+         on = deployBridge(0, "Bridge3", sourceProviderLoader, targetProviderLoader,
+                           "/queue/sourceQueue", "/queue/targetQueue",
+                           null, null, null, null,
+                           Bridge.QOS_AT_MOST_ONCE, null, 1,
+                           -1, null, null, 5000, -1, false);
+         log.info("Deployed bridge");
+
+         ServerManagement.getServer(0).invoke(on, "create", new Object[0], new String[0]);
+
+         log.info("Created bridge");
+
+         log.info("Starting bridge");
+         ServerManagement.getServer(0).invoke(on, "start", new Object[0], new String[0]);
+         log.info("Started bridge");
+         
+
+         //Wait a while before starting up to simulate the dest being down for a while
+         log.info("Waiting 3 secs before bringing server back up");
+         Thread.sleep(3000);
+         log.info("Done wait");
+          //Restart the server
+         
+         log.info("Restarting server");
+         
+         ServerManagement.start(1, "all", false);
+         
+         ServerManagement.deployQueue("targetQueue", 1);
+         
+         setUpAdministeredObjects();
+
+         //Wait a while before starting up to simulate the dest being down for a while
+         log.info("Waiting 5 secs before bringing server back up");
+         Thread.sleep(5000);
+         log.info("Done wait");
+         
+         final int NUM_MESSAGES = 10;
+         
+         //Send some messages
+         
+         sendMessages(cf0, sourceQueue, 0, NUM_MESSAGES, true);         
+         
+         log.info("Sent messages");
+         
+         checkMessagesReceived(cf1, targetQueue, Bridge.QOS_ONCE_AND_ONLY_ONCE, NUM_MESSAGES, false);                  
+      }
+      finally
+      {      
+         try
+         {
+            if (on != null)
+            {
+               ServerManagement.getServer(0).invoke(on, "stop", new Object[0], new String[0]);
+               ServerManagement.getServer(0).invoke(on, "destroy", new Object[0], new String[0]);
+            }
+         }
+         catch(Exception e)
+         {
+            //Ignore            
+         }
+      }                  
+      
+   }
+   
    public void testStopStartPauseResume() throws Exception
    {
       Connection connSource = null;

Modified: branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/bridge/BridgeTest.java
===================================================================
--- branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/bridge/BridgeTest.java	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/bridge/BridgeTest.java	2009-02-02 10:42:54 UTC (rev 5773)
@@ -366,17 +366,18 @@
          
          try
          {
-            bridge= new Bridge(null, cff1, sourceQueueFactory, targetQueueFactory,
-                               sourceUsername, sourcePassword, destUsername, destPassword,
-                               selector, failureRetryInterval, maxRetries, qosMode,
-                               batchSize, maxBatchTime,
-                               subName, clientID, false);
+            bridge = new Bridge(false, sourceProps, targetProps, "/queue/sourceQueue", "/queue/targetQueue",
+                                "/ConnectionFactory", "/ConnectionFactory", 
+                                sourceUsername, sourcePassword, destUsername, destPassword,
+                                selector, failureRetryInterval, maxRetries, qosMode, 
+                                batchSize, maxBatchTime, subName, clientID, false);
          }
          catch (IllegalArgumentException e)
          {
             //Ok
          }
-         
+
+/*         
          try
          {
             bridge= new Bridge(cff0, null, sourceQueueFactory, targetQueueFactory,
@@ -389,7 +390,7 @@
          {
             //Ok
          }
-         
+
          try
          {
             bridge= new Bridge(cff0, cff1, null, targetQueueFactory,
@@ -415,14 +416,14 @@
          {
             //Ok
          }
-         
+*/         
          try
          {
-            bridge= new Bridge(cff0, cff1, sourceQueueFactory, targetQueueFactory,
-                               sourceUsername, sourcePassword, destUsername, destPassword,
-                               selector, -2, maxRetries, qosMode,
-                               batchSize, maxBatchTime,
-                               subName, clientID, false);
+            bridge = new Bridge(false, sourceProps, targetProps, "/queue/sourceQueue", "/queue/targetQueue",
+                                "/ConnectionFactory", "/ConnectionFactory", 
+                                sourceUsername, sourcePassword, destUsername, destPassword,
+                                selector, -2, maxRetries, qosMode, 
+                                batchSize, maxBatchTime, subName, clientID, false);
          }
          catch (IllegalArgumentException e)
          {
@@ -431,24 +432,25 @@
          
          try
          {
-            bridge= new Bridge(cff0, cff1, sourceQueueFactory, targetQueueFactory,
-                               sourceUsername, sourcePassword, destUsername, destPassword,
-                               selector, -1, 10, qosMode,
-                               batchSize, maxBatchTime,
-                               subName, clientID, false);
+            bridge = new Bridge(false, sourceProps, targetProps, "/queue/sourceQueue", "/queue/targetQueue",
+                                "/ConnectionFactory", "/ConnectionFactory", 
+                                sourceUsername, sourcePassword, destUsername, destPassword,
+                                selector, -1, 10, qosMode, 
+                                batchSize, maxBatchTime, subName, clientID, false);
          }
          catch (IllegalArgumentException e)
          {
             //Ok
          }
-         
+
+
          try
          {
-            bridge= new Bridge(cff0, cff1, sourceQueueFactory, null,
-                               sourceUsername, sourcePassword, destUsername, destPassword,
-                               selector, failureRetryInterval, maxRetries, -2,
-                               batchSize, maxBatchTime,
-                               subName, clientID, false);
+            bridge = new Bridge(false, sourceProps, targetProps, "/queue/sourceQueue", "/queue/targetQueue",
+                                "/ConnectionFactory", "/ConnectionFactory", 
+                                sourceUsername, sourcePassword, destUsername, destPassword,
+                                selector, failureRetryInterval, maxRetries, -2, 
+                                batchSize, maxBatchTime, subName, clientID, false);
          }
          catch (IllegalArgumentException e)
          {
@@ -457,11 +459,11 @@
          
          try
          {
-            bridge= new Bridge(cff0, cff1, sourceQueueFactory, null,
-                               sourceUsername, sourcePassword, destUsername, destPassword,
-                               selector, failureRetryInterval, maxRetries, 3,
-                               batchSize, maxBatchTime,
-                               subName, clientID, false);
+            bridge = new Bridge(false, sourceProps, targetProps, "/queue/sourceQueue", "/queue/targetQueue",
+                                "/ConnectionFactory", "/ConnectionFactory", 
+                                sourceUsername, sourcePassword, destUsername, destPassword,
+                                selector, failureRetryInterval, maxRetries, 3, 
+                                batchSize, maxBatchTime, subName, clientID, false);
          }
          catch (IllegalArgumentException e)
          {
@@ -470,11 +472,11 @@
          
          try
          {
-            bridge= new Bridge(cff0, cff1, sourceQueueFactory, null,
-                               sourceUsername, sourcePassword, destUsername, destPassword,
-                               selector, failureRetryInterval, maxRetries, 3,
-                               0, maxBatchTime,
-                               subName, clientID, false);
+            bridge = new Bridge(false, sourceProps, targetProps, "/queue/sourceQueue", "/queue/targetQueue",
+                                "/ConnectionFactory", "/ConnectionFactory", 
+                                sourceUsername, sourcePassword, destUsername, destPassword,
+                                selector, failureRetryInterval, maxRetries, 3, 
+                                0, maxBatchTime, subName, clientID, false);
          }
          catch (IllegalArgumentException e)
          {
@@ -483,11 +485,11 @@
          
          try
          {
-            bridge= new Bridge(cff0, cff1, sourceQueueFactory, null,
-                               sourceUsername, sourcePassword, destUsername, destPassword,
-                               selector, failureRetryInterval, maxRetries, 3,
-                               batchSize, -2,
-                               subName, clientID, false);
+            bridge = new Bridge(false, sourceProps, targetProps, "/queue/sourceQueue", "/queue/targetQueue",
+                                "/ConnectionFactory", "/ConnectionFactory", 
+                                sourceUsername, sourcePassword, destUsername, destPassword,
+                                selector, failureRetryInterval, maxRetries, 3, 
+                                batchSize, -2, subName, clientID, false);
          }
          catch (IllegalArgumentException e)
          {
@@ -517,11 +519,11 @@
          
          String selector = "vegetable='radish'";
          
-         bridge = new Bridge(cff0, cff1, sourceQueueFactory, targetQueueFactory,
-                  null, null, null, null,
-                  selector, 5000, 10, Bridge.QOS_AT_MOST_ONCE,
-                  1, -1,
-                  null, null, false);
+         bridge = new Bridge(false, sourceProps, targetProps, "/queue/sourceQueue", "/queue/targetQueue",
+                             "/ConnectionFactory", "/ConnectionFactory", 
+                             null, null, null, null,
+                             selector, 5000, 10, Bridge.QOS_AT_MOST_ONCE, 
+                             1, -1, null, null, false);
          
          bridge.start();
             
@@ -611,11 +613,11 @@
            
          final int NUM_MESSAGES = 10;
          
-         bridge = new Bridge(cff0, cff1, sourceTopicFactory, targetQueueFactory,
-                  null, null, null, null,
-                  null, 5000, 10, Bridge.QOS_AT_MOST_ONCE,
-                  1, -1,
-                  null, null, false);
+         bridge = new Bridge(false, sourceProps, targetProps, "/topic/sourceTopic", "/queue/targetQueue",
+                             "/ConnectionFactory", "/ConnectionFactory", 
+                             null, null, null, null,
+                             null, 5000, 10, Bridge.QOS_AT_MOST_ONCE, 
+                             1, -1, null, null, false);
          
          bridge.start();
          
@@ -663,11 +665,11 @@
       {   
          final int NUM_MESSAGES = 10;
          
-         bridge = new Bridge(cff0, cff1, sourceTopicFactory, targetQueueFactory,
-                  null, null, null, null,
-                  null, 5000, 10, Bridge.QOS_AT_MOST_ONCE,
-                  1, -1,
-                  null, null, false);
+         bridge = new Bridge(false, sourceProps, targetProps, "/topic/sourceTopic", "/queue/targetQueue",
+                             "/ConnectionFactory", "/ConnectionFactory", 
+                             null, null, null, null,
+                             null, 5000, 10, Bridge.QOS_AT_MOST_ONCE, 
+                             1, -1, null, null, false);
          
          bridge.start();
             
@@ -692,11 +694,11 @@
       {
          final int NUM_MESSAGES = 10;
          
-         bridge = new Bridge(cff0, cff1, sourceTopicFactory, targetQueueFactory,
-                  null, null, null, null,
-                  null, 5000, 10, Bridge.QOS_AT_MOST_ONCE,
-                  1, -1,
-                  "subTest", "clientid123", false);
+         bridge = new Bridge(false, sourceProps, targetProps, "/topic/sourceTopic", "/queue/targetQueue",
+                             "/ConnectionFactory", "/ConnectionFactory", 
+                             null, null, null, null,
+                             null, 5000, 10, Bridge.QOS_AT_MOST_ONCE, 
+                             1, -1, "subTest", "clientid123", false);
          
          bridge.start();
             
@@ -742,11 +744,11 @@
       {
          final int NUM_MESSAGES = 10;
          
-         bridge = new Bridge(cff0, cff1, sourceQueueFactory, targetQueueFactory,
-                  null, null, null, null,
-                  null, 5000, 10, Bridge.QOS_AT_MOST_ONCE,
-                  1, -1,
-                  null, null, on);
+         bridge = new Bridge(false, sourceProps, targetProps, "/queue/sourceQueue", "/queue/targetQueue",
+                             "/ConnectionFactory", "/ConnectionFactory", 
+                             null, null, null, null,
+                             null, 5000, 10, Bridge.QOS_AT_MOST_ONCE, 
+                             1, -1, null, null, on);
          
          bridge.start();
          
@@ -913,11 +915,11 @@
       {
          final int NUM_MESSAGES = 10;
          
-         bridge = new Bridge(cff0, cff1, sourceQueueFactory, targetQueueFactory,
-                  null, null, null, null,
-                  null, 5000, 10, Bridge.QOS_AT_MOST_ONCE,
-                  1, -1,
-                  null, null, messageIDInHeader);
+         bridge = new Bridge(false, sourceProps, targetProps, "/queue/sourceQueue", "/queue/targetQueue",
+                             "/ConnectionFactory", "/ConnectionFactory", 
+                             null, null, null, null,
+                             null, 5000, 10, Bridge.QOS_AT_MOST_ONCE, 
+                             1, -1, null, null, messageIDInHeader);
          
          bridge.start();
          
@@ -1074,11 +1076,11 @@
       {
          final int NUM_MESSAGES = 10;
          
-         bridge = new Bridge(cff0, cff1, sourceQueueFactory, targetQueueFactory,
-                  null, null, null, null,
-                  null, 5000, 10, Bridge.QOS_AT_MOST_ONCE,
-                  1, -1,
-                  null, null, false);
+         bridge = new Bridge(false, sourceProps, targetProps, "/queue/sourceQueue", "/queue/targetQueue",
+                             "/ConnectionFactory", "/ConnectionFactory", 
+                             null, null, null, null,
+                             null, 5000, 10, Bridge.QOS_AT_MOST_ONCE, 
+                             1, -1, null, null, false);
          
          bridge.start();
          
@@ -1161,12 +1163,13 @@
             
       try
       {      
-         bridge = new Bridge(cff0, cff1, sourceQueueFactory, targetQueueFactory,
-                  null, null, null, null,
-                  null, 5000, 10, qosMode,
-                  batchSize, -1,
-                  null, null, false);
          
+         bridge = new Bridge(false, sourceProps, targetProps, "/queue/sourceQueue", "/queue/targetQueue",
+                             "/ConnectionFactory", "/ConnectionFactory", 
+                             null, null, null, null,
+                             null, 5000, 10, qosMode, 
+                             batchSize, -1, null, null, false);
+         
          bridge.start();
             
          connSource = cf0.createConnection();
@@ -1234,11 +1237,11 @@
             
       try
       {      
-         bridge = new Bridge(cff0, cff1, sourceQueueFactory, targetQueueFactory,
-                  null, null, null, null,
-                  null, 5000, 10, qosMode,
-                  2, maxBatchTime,
-                  null, null, false);
+         bridge = new Bridge(false, sourceProps, targetProps, "/queue/sourceQueue", "/queue/targetQueue",
+                             "/ConnectionFactory", "/ConnectionFactory", 
+                             null, null, null, null,
+                             null, 5000, 10, qosMode, 
+                             2, maxBatchTime, null, null, false);
          
          bridge.start();
             
@@ -1308,11 +1311,11 @@
             
       try
       {  
-         bridge = new Bridge(cff0, cff0, sourceQueueFactory, localTargetQueueFactory,
-                  null, null, null, null,
-                  null, 5000, 10, qosMode,
-                  batchSize, -1,
-                  null, null, false);
+         bridge = new Bridge(true, sourceProps, sourceProps, "/queue/sourceQueue", "/queue/localTargetQueue",
+                             "/ConnectionFactory", "/ConnectionFactory", 
+                             null, null, null, null,
+                             null, 5000, 10, qosMode, 
+                             batchSize, -1, null, null, false);
          
          bridge.start();
             
@@ -1380,11 +1383,11 @@
       {
          final int NUM_MESSAGES = 10;
          
-         bridge = new Bridge(cff0, cff1, sourceQueueFactory, targetQueueFactory,
-                  null, null, null, null,
-                  null, 5000, 10, qosMode,
-                  NUM_MESSAGES, -1,
-                  null, null, false);
+         bridge = new Bridge(false, sourceProps, targetProps, "/queue/sourceQueue", "/queue/targetQueue",
+                             "/ConnectionFactory", "/ConnectionFactory", 
+                             null, null, null, null,
+                             null, 5000, 10, qosMode, 
+                             NUM_MESSAGES, -1, null, null, false);
          
          bridge.start();
             
@@ -1438,11 +1441,11 @@
       {
          final int NUM_MESSAGES = 10;
          
-         bridge = new Bridge(cff0, cff0, sourceQueueFactory, localTargetQueueFactory,
-                  null, null, null, null,
-                  null, 5000, 10, qosMode,
-                  NUM_MESSAGES, -1,
-                  null, null, false);
+         bridge = new Bridge(true, sourceProps, sourceProps, "/queue/sourceQueue", "/queue/localTargetQueue",
+                             "/ConnectionFactory", "/ConnectionFactory", 
+                             null, null, null, null,
+                             null, 5000, 10, qosMode, 
+                             NUM_MESSAGES, -1, null, null, false);
          
          bridge.start();
             
@@ -1498,11 +1501,11 @@
          
          final int MAX_BATCH_SIZE = 100000; // something big so it won't reach it
          
-         bridge = new Bridge(cff0, cff1, sourceQueueFactory, targetQueueFactory,
-                  null, null, null, null,
-                  null, 3000, 10, qosMode,
-                  MAX_BATCH_SIZE, MAX_BATCH_TIME,
-                  null, null, false);
+         bridge = new Bridge(false, sourceProps, targetProps, "/queue/sourceQueue", "/queue/targetQueue",
+                             "/ConnectionFactory", "/ConnectionFactory", 
+                             null, null, null, null,
+                             null, 3000, 10, qosMode, 
+                             MAX_BATCH_SIZE, MAX_BATCH_TIME, null, null, false);
          
          bridge.start();
             
@@ -1539,11 +1542,11 @@
          
          final int MAX_BATCH_SIZE = 100000; // something big so it won't reach it
          
-         bridge = new Bridge(cff0, cff0, sourceQueueFactory, localTargetQueueFactory,
-                  null, null, null, null,
-                  null, 3000, 10, qosMode,
-                  MAX_BATCH_SIZE, MAX_BATCH_TIME,
-                  null, null, false);
+         bridge = new Bridge(true, sourceProps, sourceProps, "/queue/sourceQueue", "/queue/localTargetQueue",
+                             "/ConnectionFactory", "/ConnectionFactory", 
+                             null, null, null, null,
+                             null, 3000, 10, qosMode, 
+                             MAX_BATCH_SIZE, MAX_BATCH_TIME, null, null, false);
          
          bridge.start();
          

Modified: branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/bridge/BridgeTestBase.java
===================================================================
--- branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/bridge/BridgeTestBase.java	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/bridge/BridgeTestBase.java	2009-02-02 10:42:54 UTC (rev 5773)
@@ -21,8 +21,10 @@
  */
 package org.jboss.test.messaging.jms.bridge;
 
+import java.util.Enumeration;
 import java.util.HashSet;
 import java.util.Hashtable;
+import java.util.Properties;
 import java.util.Set;
 
 import javax.jms.Connection;
@@ -52,6 +54,7 @@
  * A BridgeTestBase
  *
  * @author <a href="mailto:tim.fox at jboss.com">Tim Fox</a>
+ * @author <a href="mailto:hgao at redhat.com">Howard Gao</a>
  * @version <tt>$Revision: 1.1 $</tt>
  *
  * $Id$
@@ -75,6 +78,10 @@
    
    protected static boolean firstTime = true;
    
+   protected static Properties sourceProps;
+   
+   protected static Properties targetProps;
+   
    public BridgeTestBase(String name)
    {
       super(name);
@@ -135,7 +142,22 @@
       {
          Hashtable props0 = ServerManagement.getJNDIEnvironment(0);
          
+         sourceProps = new Properties();
+         Enumeration keys = props0.keys();
+         while (keys.hasMoreElements())
+         {
+            Object key = keys.nextElement();
+            sourceProps.put(key, props0.get(key));
+         }
+         
          Hashtable props1 = ServerManagement.getJNDIEnvironment(1);
+         targetProps = new Properties();
+         keys = props1.keys();
+         while (keys.hasMoreElements())
+         {
+            Object key = keys.nextElement();
+            targetProps.put(key, props1.get(key));
+         }
          
          cff0 = new JNDIConnectionFactoryFactory(props0, "/ConnectionFactory");
          

Modified: branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/bridge/ReconnectTest.java
===================================================================
--- branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/bridge/ReconnectTest.java	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/bridge/ReconnectTest.java	2009-02-02 10:42:54 UTC (rev 5773)
@@ -22,6 +22,7 @@
 package org.jboss.test.messaging.jms.bridge;
 
 import org.jboss.jms.server.bridge.Bridge;
+import org.jboss.jms.server.bridge.BridgeService;
 import org.jboss.logging.Logger;
 import org.jboss.test.messaging.tools.ServerManagement;
 
@@ -43,6 +44,69 @@
         
    // Crash and reconnect
    
+   //destination not available when startup
+   //https://jira.jboss.org/jira/browse/JBMESSAGING-999
+   public void testDestinationNotAvailableWhenBridgeStartup() throws Exception
+   {
+      Bridge bridge = null;
+      
+      try
+      {   
+         //crash the dest server first
+         
+         log.info("About to crash server");
+         
+         ServerManagement.kill(1);
+         
+         bridge = new Bridge(false, sourceProps, targetProps, "/queue/sourceQueue", "/queue/targetQueue",
+                             "/ConnectionFactory", "/ConnectionFactory", null, null, null, null,
+                             null, 1000, -1, Bridge.QOS_ONCE_AND_ONLY_ONCE, 10, -1, null, null, false);
+         
+         bridge.start();
+         
+         //Restart the server
+         
+         log.info("Restarting server");
+         
+         ServerManagement.start(1, "all", false);
+         
+         ServerManagement.deployQueue("targetQueue", 1);
+         
+         setUpAdministeredObjects();
+
+         //Wait a while before starting up to simulate the dest being down for a while
+         log.info("Waiting 5 secs before bringing server back up");
+         Thread.sleep(5000);
+         log.info("Done wait");
+         
+         final int NUM_MESSAGES = 10;
+         
+         //Send some messages
+         
+         sendMessages(cf0, sourceQueue, 0, NUM_MESSAGES, true);         
+         
+         log.info("Sent messages");
+         
+         checkMessagesReceived(cf1, targetQueue, Bridge.QOS_ONCE_AND_ONLY_ONCE, NUM_MESSAGES, false);                  
+      }
+      finally
+      {      
+
+         if (bridge != null)
+         {
+            try
+            {
+               bridge.stop();
+            }
+            catch (Exception e)
+            {
+               log.error("Failed to stop bridge", e);
+            }
+         }         
+      }                  
+      
+   }
+   
    // Once and only once
    
    public void testCrashAndReconnectDestBasic_OnceAndOnlyOnce_P() throws Exception
@@ -97,12 +161,11 @@
    {
       ServerManagement.kill(1);
 
-      Bridge bridge = new Bridge(cff0, cff1, sourceQueueFactory, targetQueueFactory,
-            null, null, null, null,
-            null, 1000, -1, Bridge.QOS_DUPLICATES_OK,
-            10, -1,
-            null, null, false);
       
+      Bridge bridge = new Bridge(false, sourceProps, targetProps, "/queue/sourceQueue", "/queue/targetQueue",
+                          "/ConnectionFactory", "/ConnectionFactory", null, null, null, null,
+                          null, 1000, -1, Bridge.QOS_DUPLICATES_OK, 10, -1, null, null, false);
+      
       try
       {
          bridge.start();
@@ -144,11 +207,10 @@
          
       try
       {   
-         bridge = new Bridge(cff0, cff1, sourceQueueFactory, targetQueueFactory,
-                  null, null, null, null,
-                  null, 1000, -1, qosMode,
-                  10, -1,
-                  null, null, false);
+
+         bridge = new Bridge(false, sourceProps, targetProps, "/queue/sourceQueue", "/queue/targetQueue",
+                             "/ConnectionFactory", "/ConnectionFactory", null, null, null, null,
+                             null, 1000, -1, qosMode, 10, -1, null, null, false);
          
          bridge.start();
             
@@ -224,11 +286,10 @@
             
       try
       {
-         bridge = new Bridge(cff0, cff1, sourceQueueFactory, targetQueueFactory,
-                  null, null, null, null,
-                  null, 1000, -1, Bridge.QOS_ONCE_AND_ONLY_ONCE,
-                  10, 5000,
-                  null, null, false);
+
+         bridge = new Bridge(false, sourceProps, targetProps, "/queue/sourceQueue", "/queue/targetQueue",
+                             "/ConnectionFactory", "/ConnectionFactory", null, null, null, null,
+                             null, 1000, -1, Bridge.QOS_ONCE_AND_ONLY_ONCE, 10, 5000, null, null, false);
          
          bridge.start();
          

Modified: branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/bridge/ReconnectWithRecoveryTest.java
===================================================================
--- branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/bridge/ReconnectWithRecoveryTest.java	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/bridge/ReconnectWithRecoveryTest.java	2009-02-02 10:42:54 UTC (rev 5773)
@@ -89,11 +89,11 @@
       {
          final int NUM_MESSAGES = 10;         
          
-         bridge = new Bridge(cff0, cff1, sourceQueueFactory, targetQueueFactory,
-                  null, null, null, null,
-                  null, 1000, -1, Bridge.QOS_ONCE_AND_ONLY_ONCE,
-                  NUM_MESSAGES, -1,
-                  null, null, false);
+         bridge = new Bridge(false, sourceProps, targetProps, "/queue/sourceQueue", "/queue/targetQueue",
+                             "/ConnectionFactory", "/ConnectionFactory", 
+                             null, null, null, null,
+                             null, 1000, -1, Bridge.QOS_ONCE_AND_ONLY_ONCE, 
+                             NUM_MESSAGES, -1, null, null, false);
          
          bridge.start();
          

Modified: branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/bridge/SimpleCrashWithRestartTest.java
===================================================================
--- branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/bridge/SimpleCrashWithRestartTest.java	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/bridge/SimpleCrashWithRestartTest.java	2009-02-02 10:42:54 UTC (rev 5773)
@@ -89,11 +89,11 @@
          {
             final int NUM_MESSAGES = 10;         
             
-            bridge = new Bridge(cff0, cff1, sourceQueueFactory, targetQueueFactory,
-                     null, null, null, null,
-                     null, 1000, -1, Bridge.QOS_AT_MOST_ONCE,
-                     NUM_MESSAGES, -1,
-                     null, null, false);
+            bridge = new Bridge(false, sourceProps, targetProps, "/queue/sourceQueue", "/queue/targetQueue",
+                                "/ConnectionFactory", "/ConnectionFactory", 
+                                null, null, null, null,
+                                null, 1000, -1, Bridge.QOS_AT_MOST_ONCE, 
+                                NUM_MESSAGES, -1, null, null, false);
             
             bridge.start();
             

Modified: branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/clustering/ClusterViewUpdateTest.java
===================================================================
--- branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/clustering/ClusterViewUpdateTest.java	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/clustering/ClusterViewUpdateTest.java	2009-02-02 10:42:54 UTC (rev 5773)
@@ -34,6 +34,7 @@
 
 /**
  * @author <a href="mailto:clebert.suconic at jboss.org">Clebert Suconic</a>
+ * @author <a href="mailto:hgao at redhat.com">Howard Gao</a>
  * @version <tt>$Revision$</tt>
  *
  * $Id$
@@ -76,7 +77,11 @@
 
       // Kill the same node as the CF is connected to
       ServerManagement.kill(1);
-      Thread.sleep(5000);
+      
+      // the sleep time has to be longer than the sum of validatorPingPeriod and validatorPingTimeout.
+      // see remoting-bisocket-service.xml
+      Thread.sleep(20000);
+      
       assertEquals(1, clusterDelegate.getDelegates().length);
       TopologyResult topology = clusterDelegate.getTopology();
       assertEquals(1, topology.getDelegates().length);
@@ -188,7 +193,7 @@
 
       ServerManagement.kill(1);
    	
-   	Thread.sleep(5000);
+   	Thread.sleep(20000);
    	
    	Connection conn = createConnectionOnServer(cf, 0);
       try
@@ -308,8 +313,8 @@
 
       ServerManagement.kill(1);
 
-      log.info("sleeping 5 secs ...");
-      Thread.sleep(5000);
+      log.info("sleeping 20 secs ...");
+      Thread.sleep(20000);
 
       // first part of the test, verifies if the CF was updated
       assertEquals(1, cfDelegate.getDelegates().length);
@@ -353,15 +358,15 @@
 
       ServerManagement.kill(1);
 
-      log.info("sleeping 5 secs ...");
-      Thread.sleep(5000);
+      log.info("sleeping 20 secs ...");
+      Thread.sleep(20000);
 
       // first part of the test, verifies if the CF was updated
       assertEquals(1, cfDelegate.getDelegates().length);
       conn.close();
 
       log.info("sleeping 5 secs ...");
-      Thread.sleep(5000);
+      Thread.sleep(20000);
 
       // Second part, verifies a possible race condition on failoverMap and handleFilover
       assertEquals(0, getServerId(conn1));
@@ -369,7 +374,7 @@
       //restart
       ServerManagement.start(1, "all", false);
       
-      Thread.sleep(5000);
+      Thread.sleep(12000);
       
       assertEquals(2, cfDelegate.getDelegates().length);
       
@@ -461,7 +466,7 @@
 
       ServerManagement.kill(1);
 
-      Thread.sleep(5000);
+      Thread.sleep(20000);
 
       // This will force Failover from Valve to kick in
       conn1.createSession(true, Session.SESSION_TRANSACTED);

Modified: branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/clustering/FailoverTest.java
===================================================================
--- branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/clustering/FailoverTest.java	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/clustering/FailoverTest.java	2009-02-02 10:42:54 UTC (rev 5773)
@@ -16,10 +16,12 @@
 import javax.jms.Message;
 import javax.jms.MessageConsumer;
 import javax.jms.MessageProducer;
+import javax.jms.Queue;
 import javax.jms.QueueBrowser;
 import javax.jms.Session;
 import javax.jms.TextMessage;
 import javax.management.ObjectName;
+import javax.naming.InitialContext;
 
 import org.jboss.jms.client.FailoverEvent;
 import org.jboss.jms.client.JBossConnection;
@@ -2050,6 +2052,157 @@
       }
    }
 
+   /**
+    * deploy a distributed queue on only one node and then perform failover
+    * The failover for other nodes should not be affected.
+    * https://jira.jboss.org/jira/browse/JBMESSAGING-1457
+    */
+   public void testFailoverWithSingleDistributedTargetNoMessage() throws Exception
+   {
+      Connection conn = null;
+
+      try
+      {
+         ServerManagement.deployQueue("singleDeployedDistributedQueue", 1);
+
+         conn = createConnectionOnServer(cf, 1);
+
+         Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+         MessageProducer prod = session.createProducer(queue[1]);
+
+         Message m = session.createTextMessage("blimey");
+         prod.send(m);
+
+         // register a failover listener
+         SimpleFailoverListener failoverListener = new SimpleFailoverListener();
+         ((JBossConnection)conn).registerFailoverListener(failoverListener);
+
+         ServerManagement.kill(1);
+
+         // wait for the client-side failover to complete
+
+         while(true)
+         {
+            FailoverEvent event = failoverListener.getEvent(30000);
+            if (event != null && FailoverEvent.FAILOVER_COMPLETED == event.getType())
+            {
+               break;
+            }
+            if (event == null)
+            {
+               fail("Did not get expected FAILOVER_COMPLETED event");
+            }
+         }
+         
+         MessageConsumer cons = session.createConsumer(queue[1]);
+
+         // failover complete
+         assertEquals(0, getServerId(conn));
+
+         conn.start();
+         
+         TextMessage rm = (TextMessage)cons.receive(2000);
+         assertNotNull(rm);
+         assertEquals("blimey", rm.getText());
+
+      }
+      finally
+      {
+         if (conn != null)
+         {
+            conn.close();
+         }
+      }
+   }
+
+   /**
+    * deploy a distributed queue on only one node and send some messages, then perform failover
+    * The failover for other nodes should not be affected.
+    * https://jira.jboss.org/jira/browse/JBMESSAGING-1457
+    */
+   public void testFailoverWithSingleDistributedTargetWithMessage() throws Exception
+   {
+      Connection conn = null;
+      Connection conn1 = null;
+
+      try
+      {
+         ServerManagement.deployQueue("singleDeployedDistributedQueue", 1);
+         Queue lameClusteredQueue = (Queue)ic[1].lookup("queue/singleDeployedDistributedQueue");
+
+         conn = createConnectionOnServer(cf, 1);
+
+         Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+         MessageProducer prod = session.createProducer(queue[1]);
+         MessageProducer prod1 = session.createProducer(lameClusteredQueue);
+
+         Message m = session.createTextMessage("blimey");
+         prod.send(m);
+         Message m1 = session.createTextMessage("message-to-lose");
+         prod1.send(m1);
+
+         // register a failover listener
+         SimpleFailoverListener failoverListener = new SimpleFailoverListener();
+         ((JBossConnection)conn).registerFailoverListener(failoverListener);
+
+         ServerManagement.kill(1);
+
+         // wait for the client-side failover to complete
+
+         while(true)
+         {
+            FailoverEvent event = failoverListener.getEvent(30000);
+            if (event != null && FailoverEvent.FAILOVER_COMPLETED == event.getType())
+            {
+               break;
+            }
+            if (event == null)
+            {
+               fail("Did not get expected FAILOVER_COMPLETED event");
+            }
+         }
+         
+         MessageConsumer cons = session.createConsumer(queue[1]);
+
+         // failover complete
+         assertEquals(0, getServerId(conn));
+
+         conn.start();
+         
+         TextMessage rm = (TextMessage)cons.receive(2000);
+         assertNotNull(rm);
+         assertEquals("blimey", rm.getText());
+         
+         //simulate restarting node 1, do not clean db
+         ServerManagement.start(1, config, overrides, false);
+         ServerManagement.deployQueue("singleDeployedDistributedQueue", 1);
+         conn1 = createConnectionOnServer(cf, 1);
+         ic[1] = new InitialContext(ServerManagement.getJNDIEnvironment(1));
+         
+         lameClusteredQueue = (Queue)ic[1].lookup("queue/singleDeployedDistributedQueue");
+         
+         Session session1 = conn1.createSession(false, Session.AUTO_ACKNOWLEDGE);
+         conn1.start();
+
+         MessageConsumer cons1 = session1.createConsumer(lameClusteredQueue);
+         TextMessage rm1 = (TextMessage)cons1.receive(2000);
+         assertNotNull(rm1);
+         assertEquals("message-to-lose", rm1.getText());
+         
+      }
+      finally
+      {
+         if (conn != null)
+         {
+            conn.close();
+         }
+         if (conn1 != null)
+         {
+            conn1.close();
+         }
+      }
+   }
+
    // Package protected ----------------------------------------------------------------------------
 
    // Protected ------------------------------------------------------------------------------------

Modified: branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/thirdparty/remoting/ClientInvokerTimeoutTest.java
===================================================================
--- branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/thirdparty/remoting/ClientInvokerTimeoutTest.java	2009-02-02 08:14:08 UTC (rev 5772)
+++ branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/thirdparty/remoting/ClientInvokerTimeoutTest.java	2009-02-02 10:42:54 UTC (rev 5773)
@@ -6,6 +6,9 @@
  */
 package org.jboss.test.thirdparty.remoting;
 
+import java.util.HashMap;
+import java.util.Map;
+
 import org.jboss.logging.Logger;
 import org.jboss.remoting.Client;
 import org.jboss.remoting.InvokerLocator;
@@ -167,7 +170,46 @@
          }
       }
    }
+   
+   
+   public void testClientConfigurationOverride() throws Throwable
+   {
 
+      if (!"bisocket".equals(ServerManagement.getRemotingTransport(0)))
+      {
+         return;
+      }
+
+      Client client = null;
+
+      try
+      {
+         client = new Client(serverLocator, RemotingTestSubsystemService.SUBSYSTEM_LABEL);
+
+         client.connect();
+
+         SimpleConnectionListener connListener = new SimpleConnectionListener();
+
+         Map<String, String> metadata = new HashMap<String, String>();
+
+         metadata.put("validatorPingPeriod", "13000");
+
+         client.addConnectionListener(connListener, metadata);
+         
+         long pingPerod = client.getPingPeriod();
+         
+         assertEquals(13000, pingPerod);
+
+      }
+      finally
+      {
+         if (client != null)
+         {
+            client.disconnect();
+         }
+      }
+   }
+
    // Package protected ----------------------------------------------------------------------------
 
    // Protected ------------------------------------------------------------------------------------




More information about the jboss-cvs-commits mailing list