[jboss-cvs] JBoss Messaging SVN: r3951 - in branches/Branch_Stable: tests/etc and 6 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Mar 26 16:40:01 EDT 2008


Author: clebert.suconic at jboss.com
Date: 2008-03-26 16:40:00 -0400 (Wed, 26 Mar 2008)
New Revision: 3951

Added:
   branches/Branch_Stable/tests/etc/server/
   branches/Branch_Stable/tests/etc/server/default/
   branches/Branch_Stable/tests/etc/server/default/deploy/
   branches/Branch_Stable/tests/etc/server/default/deploy/mock-channelfactory-service.xml
   branches/Branch_Stable/tests/etc/server/default/deploy/mock-channelfactory-stacks.xml
   branches/Branch_Stable/tests/src/org/jboss/test/messaging/jms/server/channelfactory/
   branches/Branch_Stable/tests/src/org/jboss/test/messaging/jms/server/channelfactory/MockChannelFactory.java
Removed:
   branches/Branch_Stable/src/etc/server/default/deploy/multiplexer-service.xml
   branches/Branch_Stable/src/etc/server/default/deploy/multiplexer-stacks.xml
Modified:
   branches/Branch_Stable/src/etc/server/default/deploy/clustered-hsqldb-persistence-service.xml
   branches/Branch_Stable/src/etc/server/default/deploy/mssql-persistence-service.xml
   branches/Branch_Stable/src/etc/server/default/deploy/mysql-persistence-service.xml
   branches/Branch_Stable/src/etc/server/default/deploy/ndb-persistence-service.xml
   branches/Branch_Stable/src/etc/server/default/deploy/null-persistence-service.xml
   branches/Branch_Stable/src/etc/server/default/deploy/oracle-persistence-service.xml
   branches/Branch_Stable/src/etc/server/default/deploy/postgresql-persistence-service.xml
   branches/Branch_Stable/src/etc/server/default/deploy/sybase-persistence-service.xml
   branches/Branch_Stable/tests/src/org/jboss/test/messaging/tools/container/ServiceContainer.java
Log:
http://jira.jboss.com/jira/browse/JBMESSAGING-1089 - Changing configuration files to aways use the JGroups Channel Factory, as it is going to happen on JBAS 5

Modified: branches/Branch_Stable/src/etc/server/default/deploy/clustered-hsqldb-persistence-service.xml
===================================================================
--- branches/Branch_Stable/src/etc/server/default/deploy/clustered-hsqldb-persistence-service.xml	2008-03-26 17:43:08 UTC (rev 3950)
+++ branches/Branch_Stable/src/etc/server/default/deploy/clustered-hsqldb-persistence-service.xml	2008-03-26 20:40:00 UTC (rev 3951)
@@ -38,6 +38,16 @@
       <!-- The maximum number of parameters to include in a prepared statement -->
 
       <attribute name="MaxParams">500</attribute>
+      
+      <!-- If true then we will automatically detect and reject duplicate messages sent during failover -->
+
+      <attribute name="DetectDuplicates">true</attribute>
+
+      <!-- The size of the id cache to use when detecting duplicate messages -->
+
+      <attribute name="IDCacheSize">500</attribute>
+
+      
    </mbean>
 
    <!-- Messaging Post Office MBean configuration
@@ -78,138 +88,20 @@
 
       <!-- Max time to wait for state to arrive when the post office joins the cluster -->
 
-      <attribute name="StateTimeout">5000</attribute>
+      <attribute name="StateTimeout">30000</attribute>
 
       <!-- Max time to wait for a synchronous call to node members using the MessageDispatcher -->
 
-      <attribute name="CastTimeout">50000</attribute>
+      <attribute name="CastTimeout">30000</attribute>
       
       <!-- Set this to true if you want failover of connections to occur when a node is shut down -->
       
       <attribute name="FailoverOnNodeLeave">false</attribute>
       
-      <!-- JGroups stack configuration for the data channel - used for sending data across the cluster -->
-
-      <!-- By default we use the TCP stack for data -->
-      <attribute name="DataChannelConfig">
-         <config>
-            <TCP 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="1"
-                 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="run"
-                 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/>
-            <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="false" view_bundling="true"/>
-        </config>
-      </attribute>
-
-      <!-- JGroups stack configuration to use for the control channel - used for control messages -->
-
-      <!-- We use udp stack for the control channel -->
-      <attribute name="ControlChannelConfig">
-         <config>
-            <UDP
-                 mcast_addr="${jboss.messaging.controlchanneludpaddress,jboss.partition.udpGroup:228.7.7.7}"
-                 mcast_port="${jboss.messaging.controlchanneludpport:45568}"
-                 tos="8"
-                 ucast_recv_buf_size="20000000"
-                 ucast_send_buf_size="640000"
-                 mcast_recv_buf_size="25000000"
-                 mcast_send_buf_size="640000"
-                 loopback="false"
-                 discard_incompatible_packets="true"
-                 max_bundle_size="64000"
-                 max_bundle_timeout="30"
-                 use_incoming_packet_handler="true"
-                 ip_ttl="${jboss.messaging.ipttl:8}"
-                 enable_bundling="false"
-                 enable_diagnostics="true"
-                 thread_naming_pattern="cl"
-
-                 use_concurrent_stack="true"
-
-                 thread_pool.enabled="true"
-                 thread_pool.min_threads="1"
-                 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="Run"
-
-                 oob_thread_pool.enabled="true"
-                 oob_thread_pool.min_threads="1"
-                 oob_thread_pool.max_threads="8"
-                 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="10000" 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="false"
-                view_bundling="true"/>
-            <FC max_credits="500000"
-                    min_threshold="0.20"/>
-            <FRAG2 frag_size="60000"  />
-            <pbcast.STATE_TRANSFER/>
-            <pbcast.FLUSH timeout="20000"/>
-        </config>
-     </attribute>
+      <depends optional-attribute-name="ChannelFactoryName">jboss.jgroups:service=ChannelFactory</depends>
+      <attribute name="ControlChannelName">jbm-control</attribute>
+      <attribute name="DataChannelName">jbm-data</attribute>
+      <attribute name="ChannelPartitionName">${jboss.partition.name:DefaultPartition}-JMS</attribute>
    </mbean>
 
 

Modified: branches/Branch_Stable/src/etc/server/default/deploy/mssql-persistence-service.xml
===================================================================
--- branches/Branch_Stable/src/etc/server/default/deploy/mssql-persistence-service.xml	2008-03-26 17:43:08 UTC (rev 3950)
+++ branches/Branch_Stable/src/etc/server/default/deploy/mssql-persistence-service.xml	2008-03-26 20:40:00 UTC (rev 3951)
@@ -150,128 +150,10 @@
       
       <attribute name="FailoverOnNodeLeave">false</attribute>
       
-      <!-- JGroups stack configuration for the data channel - used for sending data across the cluster -->
-
-      <!-- By default we use the TCP stack for data -->
-      <attribute name="DataChannelConfig">
-         <config>
-            <TCP 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="1"
-                 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="run"
-                 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/>
-            <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="false" view_bundling="true"/>
-        </config>
-      </attribute>
-
-      <!-- JGroups stack configuration to use for the control channel - used for control messages -->
-
-      <!-- We use udp stack for the control channel -->
-      <attribute name="ControlChannelConfig">
-         <config>
-            <UDP
-                 mcast_addr="${jboss.messaging.controlchanneludpaddress,jboss.partition.udpGroup:228.7.7.7}"
-                 mcast_port="${jboss.messaging.controlchanneludpport:45568}"
-                 tos="8"
-                 ucast_recv_buf_size="20000000"
-                 ucast_send_buf_size="640000"
-                 mcast_recv_buf_size="25000000"
-                 mcast_send_buf_size="640000"
-                 loopback="false"
-                 discard_incompatible_packets="true"
-                 max_bundle_size="64000"
-                 max_bundle_timeout="30"
-                 use_incoming_packet_handler="true"
-                 ip_ttl="${jboss.messaging.ipttl:8}"
-                 enable_bundling="false"
-                 enable_diagnostics="true"
-                 thread_naming_pattern="cl"
-
-                 use_concurrent_stack="true"
-
-                 thread_pool.enabled="true"
-                 thread_pool.min_threads="1"
-                 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="Run"
-
-                 oob_thread_pool.enabled="true"
-                 oob_thread_pool.min_threads="1"
-                 oob_thread_pool.max_threads="8"
-                 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="10000" 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="false"
-                view_bundling="true"/>
-            <FC max_credits="500000"
-                    min_threshold="0.20"/>
-            <FRAG2 frag_size="60000"  />
-            <pbcast.STATE_TRANSFER/>
-            <pbcast.FLUSH timeout="20000"/>
-        </config>
-     </attribute>
+      <depends optional-attribute-name="ChannelFactoryName">jboss.jgroups:service=ChannelFactory</depends>
+      <attribute name="ControlChannelName">jbm-control</attribute>
+      <attribute name="DataChannelName">jbm-data</attribute>
+      <attribute name="ChannelPartitionName">${jboss.partition.name:DefaultPartition}-JMS</attribute>
    </mbean>
 
    <!-- Messaging JMS User Manager MBean config

Deleted: branches/Branch_Stable/src/etc/server/default/deploy/multiplexer-service.xml
===================================================================
--- branches/Branch_Stable/src/etc/server/default/deploy/multiplexer-service.xml	2008-03-26 17:43:08 UTC (rev 3950)
+++ branches/Branch_Stable/src/etc/server/default/deploy/multiplexer-service.xml	2008-03-26 20:40:00 UTC (rev 3951)
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<server>
-
-
-    <!--
-    An example for setting up the JChannelFactory MBean
-    Author: Bela Ban
-    Version: $Id$
-    -->
-    <mbean code="org.jgroups.jmx.JChannelFactory" name="jgroups.mux:name=Multiplexer">
-    <!--mbean code="org.jgroups.JChannelFactory" name="jgroups.mux:name=Multiplexer" xmbean-dd="resource:META-INF/multiplexer-xmbean.xml" -->
-        <attribute name="Domain">jgroups.mux</attribute>
-        <attribute name="MultiplexerConfig">multiplexer-stacks.xml</attribute>
-        <attribute name="ExposeChannels">true</attribute>
-        <attribute name="ExposeProtocols">true</attribute>
-
-        <!-- The address used to determine the node name  -->
-        <!-- <attribute name="NodeAddress">${jboss.bind.address}</attribute> -->
-
-    </mbean>
-
-
-</server>

Deleted: branches/Branch_Stable/src/etc/server/default/deploy/multiplexer-stacks.xml
===================================================================
--- branches/Branch_Stable/src/etc/server/default/deploy/multiplexer-stacks.xml	2008-03-26 17:43:08 UTC (rev 3950)
+++ branches/Branch_Stable/src/etc/server/default/deploy/multiplexer-stacks.xml	2008-03-26 20:40:00 UTC (rev 3951)
@@ -1,330 +0,0 @@
-
-<!--
-  Sample file that defines a number of stacks, used by the multiplexer
-  Author: Bela Ban
-  Version: $Id$
--->
-<protocol_stacks>
-    <stack name="udp"
-           description="Default: IP multicast based stack, with flow control and message bundling">
-        <config>
-          <UDP
-             mcast_port="${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="false"
-             discard_incompatible_packets="true"
-             max_bundle_size="64000"
-             max_bundle_timeout="30"
-             use_incoming_packet_handler="true"
-             use_outgoing_packet_handler="false"
-             ip_ttl="${jgroups.udp.ip_ttl:2}"
-             down_thread="false" up_thread="false"
-             enable_bundling="true"/>
-          <PING timeout="2000"
-             down_thread="false" up_thread="false" num_initial_members="3"/>
-          <MERGE2 max_interval="100000"
-             down_thread="false" up_thread="false" min_interval="20000"/>
-          <FD_SOCK down_thread="false" up_thread="false"/>
-          <FD timeout="10000" max_tries="5" down_thread="false" up_thread="false" shun="true"/>
-          <VERIFY_SUSPECT timeout="1500" down_thread="false" up_thread="false"/>
-          <pbcast.NAKACK max_xmit_size="60000"
-                   use_mcast_xmit="false" gc_lag="0"
-                   retransmit_timeout="300,600,1200,2400,4800"
-                   down_thread="false" up_thread="false"
-                   discard_delivered_msgs="true"/>
-          <UNICAST timeout="300,600,1200,2400,3600"
-             down_thread="false" up_thread="false"/>
-          <pbcast.STABLE stability_delay="1000" desired_avg_gossip="50000"
-                   down_thread="false" up_thread="false"
-                   max_bytes="400000"/>
-          <pbcast.GMS print_local_addr="true" join_timeout="3000"
-                   down_thread="false" up_thread="false"
-                   join_retry_timeout="2000" shun="true"
-                   view_bundling="true"/>
-          <FC max_credits="2000000" down_thread="false" up_thread="false"
-              min_threshold="0.10"/>
-          <FRAG2 frag_size="60000" down_thread="false" up_thread="false"/>
-          <!-- pbcast.STREAMING_STATE_TRANSFER down_thread="false" up_thread="false"
-                   use_flush="true" use_reading_thread="true"/ -->
-          <pbcast.STATE_TRANSFER down_thread="false" up_thread="false" use_flush="false"/>
-          <pbcast.FLUSH down_thread="false" up_thread="false"/>
-        </config>
-    </stack>
-
-
-    <stack name="udp-sync"
-           description="IP multicast based stack, without flow control and without message bundling. This should be used
-           instead of udp if (1) synchronous calls are used and (2) the message volume (rate and size)
-            is not that large. Don't use this configuration if you send messages at a high sustained rate, or you might
-            run out of memory">
-        <config>
-            <UDP
-                 mcast_port="${jgroups.udp.mcast_port:45699}"
-                 mcast_addr="${jgroups.udp.mcast_addr:229.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="false"
-                 discard_incompatible_packets="true"
-                 max_bundle_size="64000"
-                 max_bundle_timeout="30"
-                 use_incoming_packet_handler="true"
-                 use_outgoing_packet_handler="false"
-                 ip_ttl="${jgroups.udp.ip_ttl:2}"
-                 down_thread="false" up_thread="false"
-                 enable_bundling="false"/>
-            <PING timeout="2000"
-                  down_thread="false" up_thread="false" num_initial_members="3"/>
-            <MERGE2 max_interval="100000"
-                    down_thread="false" up_thread="false" min_interval="20000"/>
-            <FD_SOCK down_thread="false" up_thread="false"/>
-            <FD timeout="10000" max_tries="5" down_thread="false" up_thread="false" shun="true"/>
-            <VERIFY_SUSPECT timeout="1500" down_thread="false" up_thread="false"/>
-            <pbcast.NAKACK max_xmit_size="60000"
-                    use_mcast_xmit="false" gc_lag="0"
-                    retransmit_timeout="300,600,1200,2400,4800"
-                    down_thread="false" up_thread="false"
-                    discard_delivered_msgs="true"/>
-            <UNICAST timeout="300,600,1200,2400,3600"
-                    down_thread="false" up_thread="false"/>
-            <pbcast.STABLE stability_delay="1000" desired_avg_gossip="50000"
-                    down_thread="false" up_thread="false"
-                    max_bytes="400000"/>
-            <pbcast.GMS print_local_addr="true" join_timeout="3000"
-                    down_thread="false" up_thread="false"
-                    join_retry_timeout="2000" shun="true"
-                    view_bundling="true"/>
-            <FRAG2 frag_size="60000" down_thread="false" up_thread="false"/>
-            <!--pbcast.STREAMING_STATE_TRANSFER down_thread="false" up_thread="false"
-                    use_flush="true" use_reading_thread="true"/ -->
-            <pbcast.STATE_TRANSFER down_thread="false" up_thread="false" use_flush="false"/>
-            <pbcast.FLUSH down_thread="false" up_thread="false"/>
-        </config>
-    </stack>
-
-
-    <stack name="tcp"
-           description="TCP based stack, with flow control and message bundling. This is usually used when IP
-           multicasting cannot be used in a network, e.g. because it is disabled (routers discard multicast)">
-        <config>
-            <TCP start_port="7600"
-                 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"
-                 use_outgoing_packet_handler="false"
-                 down_thread="false" up_thread="false"
-                 enable_bundling="true"
-                 use_send_queues="false"
-                 sock_conn_timeout="300"
-                 skip_suspected_members="true"/>
-            <TCPPING timeout="3000"
-                     down_thread="false" up_thread="false"
-                     initial_hosts="${jgroups.tcpping.initial_hosts:localhost[7600],localhost[7601]}"
-                     port_range="1"
-                     num_initial_members="3"/>
-            <MERGE2 max_interval="100000"
-                    down_thread="false" up_thread="false" min_interval="20000"/>
-            <FD_SOCK down_thread="false" up_thread="false"/>
-            <FD timeout="10000" max_tries="5" down_thread="false" up_thread="false" shun="true"/>
-            <VERIFY_SUSPECT timeout="1500" down_thread="false" up_thread="false"/>
-            <pbcast.NAKACK max_xmit_size="60000"
-                           use_mcast_xmit="false" gc_lag="0"
-                           retransmit_timeout="300,600,1200,2400,4800"
-                           down_thread="false" up_thread="false"
-                           discard_delivered_msgs="true"/>
-            <pbcast.STABLE stability_delay="1000" desired_avg_gossip="50000"
-                           down_thread="false" up_thread="false"
-                           max_bytes="400000"/>
-            <pbcast.GMS print_local_addr="true" join_timeout="3000"
-                        down_thread="false" up_thread="false"
-                        join_retry_timeout="2000" shun="true"
-                        view_bundling="true"/>
-            <FC max_credits="2000000" down_thread="false" up_thread="false"
-                min_threshold="0.10"/>
-            <FRAG2 frag_size="60000" down_thread="false" up_thread="false"/>
-            <!-- pbcast.STREAMING_STATE_TRANSFER down_thread="false" up_thread="false"
-                      use_flush="true" use_reading_thread="true"/ -->
-            <pbcast.STATE_TRANSFER down_thread="false" up_thread="false" use_flush="false"/>
-            <pbcast.FLUSH down_thread="false" up_thread="false"/>
-        </config>
-    </stack>
-
-
-    <stack name="tcp-sync"
-           description="TCP based stack, without flow control and without message bundling. This is usually used when IP
-           multicasting cannot be used in a network, e.g. because it is disabled (routers discard multicast). This
-           configuration should be used instead of tcp when (1) synchronous calls are used and (2) the message volume
-           (rate and size) is not that large">
-        <config>
-            <TCP start_port="7650"
-                 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"
-                 use_outgoing_packet_handler="false"
-                 down_thread="false" up_thread="false"
-                 enable_bundling="false"
-                 use_send_queues="false"
-                 sock_conn_timeout="300"
-                 skip_suspected_members="true"/>
-            <TCPPING timeout="3000"
-                     down_thread="false" up_thread="false"
-                     initial_hosts="${jgroups.tcpping.initial_hosts:localhost[7650],localhost[7651]}"
-                     port_range="1"
-                     num_initial_members="3"/>
-            <MERGE2 max_interval="100000"
-                    down_thread="false" up_thread="false" min_interval="20000"/>
-            <FD_SOCK down_thread="false" up_thread="false"/>
-            <FD timeout="10000" max_tries="5" down_thread="false" up_thread="false" shun="true"/>
-            <VERIFY_SUSPECT timeout="1500" down_thread="false" up_thread="false"/>
-            <pbcast.NAKACK max_xmit_size="60000"
-                           use_mcast_xmit="false" gc_lag="0"
-                           retransmit_timeout="300,600,1200,2400,4800"
-                           down_thread="false" up_thread="false"
-                           discard_delivered_msgs="true"/>
-            <pbcast.STABLE stability_delay="1000" desired_avg_gossip="50000"
-                           down_thread="false" up_thread="false"
-                           max_bytes="400000"/>
-            <pbcast.GMS print_local_addr="true" join_timeout="3000"
-                        down_thread="false" up_thread="false"
-                        join_retry_timeout="2000" shun="true"
-                        view_bundling="true"/>
-            <!-- pbcast.STREAMING_STATE_TRANSFER down_thread="false" up_thread="false"
-                         use_flush="true" use_reading_thread="true"/ -->
-            <pbcast.STATE_TRANSFER down_thread="false" up_thread="false" use_flush="false"/>
-            <pbcast.FLUSH down_thread="false" up_thread="false"/>
-        </config>
-    </stack>
-
-
-    <stack name="tcp_nio"
-           description="TCP_NIO based stack, with flow control and message bundling. This is usually used when IP
-           multicasting cannot be used in a network, e.g. because it is disabled (routers discard multicast)">
-        <config>
-            <TCP_NIO
-                   recv_buf_size="20000000"
-                   send_buf_size="640000"
-                   loopback="false"
-                   discard_incompatible_packets="true"
-                   max_bundle_size="64000"
-                   max_bundle_timeout="30"
-                   use_incoming_packet_handler="true"
-                   use_outgoing_packet_handler="false"
-                   down_thread="false" up_thread="false"
-                   enable_bundling="true"
-                   start_port="7700"
-                   use_send_queues="false"
-                   sock_conn_timeout="300" skip_suspected_members="true"
-                   reader_threads="8"
-                   writer_threads="8"
-                   processor_threads="8"
-                   processor_minThreads="8"
-                   processor_maxThreads="8"
-                   processor_queueSize="100"
-                   processor_keepAliveTime="-1"/>
-            <TCPPING timeout="3000"
-                     initial_hosts="${jgroups.tcpping.initial_hosts:localhost[7700],localhost[7701]}"
-                     port_range="1"
-                     num_initial_members="3"
-                     down_thread="false" up_thread="false"/>
-            <MERGE2 max_interval="100000"
-                  down_thread="false" up_thread="false" min_interval="20000"/>
-            <FD_SOCK down_thread="false" up_thread="false"/>
-            <FD timeout="10000" max_tries="5" down_thread="false" up_thread="false" shun="true"/>
-            <VERIFY_SUSPECT timeout="1500" down_thread="false" up_thread="false"/>
-            <pbcast.NAKACK max_xmit_size="60000"
-                   use_mcast_xmit="false" gc_lag="0"
-                   retransmit_timeout="300,600,1200,2400,4800"
-                   down_thread="false" up_thread="false"
-                   discard_delivered_msgs="true"/>
-            <pbcast.STABLE stability_delay="1000" desired_avg_gossip="50000"
-                   down_thread="false" up_thread="false"
-                   max_bytes="400000"/>
-            <pbcast.GMS print_local_addr="true" join_timeout="3000"
-                   down_thread="false" up_thread="false"
-                   join_retry_timeout="2000" shun="true"
-                   view_bundling="true"/>
-            <FC max_credits="2000000" down_thread="false" up_thread="false"
-                min_threshold="0.10"/>
-            <FRAG2 frag_size="60000" down_thread="false" up_thread="false"/>
-            <!-- pbcast.STREAMING_STATE_TRANSFER down_thread="false" up_thread="false"
-                   use_flush="true" use_reading_thread="true"/ -->
-            <pbcast.STATE_TRANSFER down_thread="false" up_thread="false" use_flush="false"/>
-            <pbcast.FLUSH down_thread="false" up_thread="false"/>
-        </config>
-    </stack>
-
-
-    <stack name="tcp_nio-sync"
-           description="TCP_NIO based stack, with flow control and message bundling. This is usually used when IP
-           multicasting cannot be used in a network, e.g. because it is disabled (routers discard multicast). This
-           configuration should be used instead of tcp when (1) synchronous calls are used and (2) the message volume
-           (rate and size) is not that large">
-        <config>
-            <TCP_NIO
-                     recv_buf_size="20000000"
-                     send_buf_size="640000"
-                     loopback="false"
-                     discard_incompatible_packets="true"
-                     max_bundle_size="64000"
-                     max_bundle_timeout="30"
-                     use_incoming_packet_handler="true"
-                     use_outgoing_packet_handler="false"
-                     down_thread="false" up_thread="false"
-                     enable_bundling="false"
-                     start_port="7750"
-                     use_send_queues="false"
-                     sock_conn_timeout="300" skip_suspected_members="true"
-                     reader_threads="8"
-                     writer_threads="8"
-                     processor_threads="8"
-                     processor_minThreads="8"
-                     processor_maxThreads="8"
-                     processor_queueSize="100"
-                     processor_keepAliveTime="-1"/>
-            <TCPPING timeout="3000"
-                     initial_hosts="${jgroups.tcpping.initial_hosts:localhost[7750],localhost[7751]}"
-                     port_range="1"
-                     num_initial_members="3"
-                     down_thread="false" up_thread="false"/>
-            <MERGE2 max_interval="100000"
-                    down_thread="false" up_thread="false" min_interval="20000"/>
-            <FD_SOCK down_thread="false" up_thread="false"/>
-            <FD timeout="10000" max_tries="5" down_thread="false" up_thread="false" shun="true"/>
-            <VERIFY_SUSPECT timeout="1500" down_thread="false" up_thread="false"/>
-            <pbcast.NAKACK max_xmit_size="60000"
-                        use_mcast_xmit="false" gc_lag="0"
-                        retransmit_timeout="300,600,1200,2400,4800"
-                        down_thread="false" up_thread="false"
-                        discard_delivered_msgs="true"/>
-            <pbcast.STABLE stability_delay="1000" desired_avg_gossip="50000"
-                        down_thread="false" up_thread="false"
-                        max_bytes="400000"/>
-            <pbcast.GMS print_local_addr="true" join_timeout="3000"
-                        down_thread="false" up_thread="false"
-                        join_retry_timeout="2000" shun="true"
-                        view_bundling="true"/>
-            <!-- pbcast.STREAMING_STATE_TRANSFER down_thread="false" up_thread="false"
-                        use_flush="true" use_reading_thread="true"/ -->
-            <pbcast.STATE_TRANSFER down_thread="false" up_thread="false" use_flush="false"/>
-            <pbcast.FLUSH down_thread="false" up_thread="false"/>
-        </config>
-    </stack>
-
-</protocol_stacks>
-
-

Modified: branches/Branch_Stable/src/etc/server/default/deploy/mysql-persistence-service.xml
===================================================================
--- branches/Branch_Stable/src/etc/server/default/deploy/mysql-persistence-service.xml	2008-03-26 17:43:08 UTC (rev 3950)
+++ branches/Branch_Stable/src/etc/server/default/deploy/mysql-persistence-service.xml	2008-03-26 20:40:00 UTC (rev 3951)
@@ -140,140 +140,23 @@
 
       <!-- Max time to wait for state to arrive when the post office joins the cluster -->
 
-      <attribute name="StateTimeout">300000</attribute>
+      <attribute name="StateTimeout">30000</attribute>
 
       <!-- Max time to wait for a synchronous call to node members using the MessageDispatcher -->
 
-      <attribute name="CastTimeout">300000</attribute>
+      <attribute name="CastTimeout">30000</attribute>
       
       <!-- Set this to true if you want failover of connections to occur when a node is shut down -->
       
       <attribute name="FailoverOnNodeLeave">false</attribute>
 
-      <!-- JGroups stack configuration for the data channel - used for sending data across the cluster -->
+      <depends optional-attribute-name="ChannelFactoryName">jboss.jgroups:service=ChannelFactory</depends>
+      <attribute name="ControlChannelName">jbm-control</attribute>
+      <attribute name="DataChannelName">jbm-data</attribute>
+      <attribute name="ChannelPartitionName">${jboss.partition.name:DefaultPartition}-JMS</attribute>
+  </mbean>
 
-      <!-- By default we use the TCP stack for data -->
-      <attribute name="DataChannelConfig">
-         <config>
-            <TCP 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="1"
-                 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="run"
-                 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/>
-            <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="false" view_bundling="true"/>
-        </config>
-      </attribute>
-
-      <!-- JGroups stack configuration to use for the control channel - used for control messages -->
-
-      <!-- We use udp stack for the control channel -->
-      <attribute name="ControlChannelConfig">
-         <config>
-            <UDP
-                 mcast_addr="${jboss.messaging.controlchanneludpaddress,jboss.partition.udpGroup:228.7.7.7}"
-                 mcast_port="${jboss.messaging.controlchanneludpport:45568}"
-                 tos="8"
-                 ucast_recv_buf_size="20000000"
-                 ucast_send_buf_size="640000"
-                 mcast_recv_buf_size="25000000"
-                 mcast_send_buf_size="640000"
-                 loopback="false"
-                 discard_incompatible_packets="true"
-                 max_bundle_size="64000"
-                 max_bundle_timeout="30"
-                 use_incoming_packet_handler="true"
-                 ip_ttl="${jboss.messaging.ipttl:8}"
-                 enable_bundling="false"
-                 enable_diagnostics="true"
-                 thread_naming_pattern="cl"
-
-                 use_concurrent_stack="true"
-
-                 thread_pool.enabled="true"
-                 thread_pool.min_threads="1"
-                 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="Run"
-
-                 oob_thread_pool.enabled="true"
-                 oob_thread_pool.min_threads="1"
-                 oob_thread_pool.max_threads="8"
-                 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="10000" 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="false"
-                view_bundling="true"/>
-            <FC max_credits="500000"
-                    min_threshold="0.20"/>
-            <FRAG2 frag_size="60000"  />
-            <pbcast.STATE_TRANSFER/>
-            <pbcast.FLUSH timeout="20000"/>
-        </config>
-     </attribute>
-   </mbean>
-
    <!-- Messaging JMS User Manager MBean config
         ======================================= -->
 

Modified: branches/Branch_Stable/src/etc/server/default/deploy/ndb-persistence-service.xml
===================================================================
--- branches/Branch_Stable/src/etc/server/default/deploy/ndb-persistence-service.xml	2008-03-26 17:43:08 UTC (rev 3950)
+++ branches/Branch_Stable/src/etc/server/default/deploy/ndb-persistence-service.xml	2008-03-26 20:40:00 UTC (rev 3951)
@@ -142,11 +142,11 @@
 
       <!-- Max time to wait for state to arrive when the post office joins the cluster -->
 
-      <attribute name="StateTimeout">300000</attribute>
+      <attribute name="StateTimeout">30000</attribute>
 
       <!-- Max time to wait for a synchronous call to node members using the MessageDispatcher -->
 
-      <attribute name="CastTimeout">300000</attribute>
+      <attribute name="CastTimeout">30000</attribute>
 
       <!-- Set this to true if you want failover of connections to occur when a node is shut down -->
 
@@ -154,126 +154,10 @@
 
       <!-- JGroups stack configuration for the data channel - used for sending data across the cluster -->
 
-      <!-- By default we use the TCP stack for data -->
-      <attribute name="DataChannelConfig">
-         <config>
-            <TCP 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="1"
-                 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="run"
-                 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/>
-            <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="false" view_bundling="true"/>
-        </config>
-      </attribute>
-
-      <!-- JGroups stack configuration to use for the control channel - used for control messages -->
-
-      <!-- We use udp stack for the control channel -->
-      <attribute name="ControlChannelConfig">
-         <config>
-            <UDP
-                 mcast_addr="${jboss.messaging.controlchanneludpaddress,jboss.partition.udpGroup:228.7.7.7}"
-                 mcast_port="${jboss.messaging.controlchanneludpport:45568}"
-                 tos="8"
-                 ucast_recv_buf_size="20000000"
-                 ucast_send_buf_size="640000"
-                 mcast_recv_buf_size="25000000"
-                 mcast_send_buf_size="640000"
-                 loopback="false"
-                 discard_incompatible_packets="true"
-                 max_bundle_size="64000"
-                 max_bundle_timeout="30"
-                 use_incoming_packet_handler="true"
-                 ip_ttl="${jboss.messaging.ipttl:8}"
-                 enable_bundling="false"
-                 enable_diagnostics="true"
-                 thread_naming_pattern="cl"
-
-                 use_concurrent_stack="true"
-
-                 thread_pool.enabled="true"
-                 thread_pool.min_threads="1"
-                 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="Run"
-
-                 oob_thread_pool.enabled="true"
-                 oob_thread_pool.min_threads="1"
-                 oob_thread_pool.max_threads="8"
-                 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="10000" 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="false"
-                view_bundling="true"/>
-            <FC max_credits="500000"
-                    min_threshold="0.20"/>
-            <FRAG2 frag_size="60000"  />
-            <pbcast.STATE_TRANSFER/>
-            <pbcast.FLUSH timeout="20000"/>
-        </config>
-     </attribute>
+      <depends optional-attribute-name="ChannelFactoryName">jboss.jgroups:service=ChannelFactory</depends>
+      <attribute name="ControlChannelName">jbm-control</attribute>
+      <attribute name="DataChannelName">jbm-data</attribute>
+      <attribute name="ChannelPartitionName">${jboss.partition.name:DefaultPartition}-JMS</attribute>
    </mbean>
 
    <!-- Messaging JMS User Manager MBean config

Modified: branches/Branch_Stable/src/etc/server/default/deploy/null-persistence-service.xml
===================================================================
--- branches/Branch_Stable/src/etc/server/default/deploy/null-persistence-service.xml	2008-03-26 17:43:08 UTC (rev 3950)
+++ branches/Branch_Stable/src/etc/server/default/deploy/null-persistence-service.xml	2008-03-26 20:40:00 UTC (rev 3951)
@@ -43,138 +43,20 @@
 
       <!-- Max time to wait for state to arrive when the post office joins the cluster -->
 
-      <attribute name="StateTimeout">300000</attribute>
+      <attribute name="StateTimeout">30000</attribute>
 
       <!-- Max time to wait for a synchronous call to node members using the MessageDispatcher -->
 
-      <attribute name="CastTimeout">300000</attribute>
+      <attribute name="CastTimeout">30000</attribute>
       
       <!-- Set this to true if you want failover of connections to occur when a node is shut down -->
       
       <attribute name="FailoverOnNodeLeave">false</attribute>
       
-      <!-- JGroups stack configuration for the data channel - used for sending data across the cluster -->
-
-      <!-- By default we use the TCP stack for data -->
-      <attribute name="DataChannelConfig">
-         <config>
-            <TCP 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="1"
-                 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="run"
-                 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/>
-            <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="false" view_bundling="true"/>
-        </config>
-      </attribute>
-
-      <!-- JGroups stack configuration to use for the control channel - used for control messages -->
-
-      <!-- We use udp stack for the control channel -->
-      <attribute name="ControlChannelConfig">
-         <config>
-            <UDP
-                 mcast_addr="${jboss.messaging.controlchanneludpaddress,jboss.partition.udpGroup:228.7.7.7}"
-                 mcast_port="${jboss.messaging.controlchanneludpport:45568}"
-                 tos="8"
-                 ucast_recv_buf_size="20000000"
-                 ucast_send_buf_size="640000"
-                 mcast_recv_buf_size="25000000"
-                 mcast_send_buf_size="640000"
-                 loopback="false"
-                 discard_incompatible_packets="true"
-                 max_bundle_size="64000"
-                 max_bundle_timeout="30"
-                 use_incoming_packet_handler="true"
-                 ip_ttl="${jboss.messaging.ipttl:8}"
-                 enable_bundling="false"
-                 enable_diagnostics="true"
-                 thread_naming_pattern="cl"
-
-                 use_concurrent_stack="true"
-
-                 thread_pool.enabled="true"
-                 thread_pool.min_threads="1"
-                 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="Run"
-
-                 oob_thread_pool.enabled="true"
-                 oob_thread_pool.min_threads="1"
-                 oob_thread_pool.max_threads="8"
-                 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="10000" 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="false"
-                view_bundling="true"/>
-            <FC max_credits="500000"
-                    min_threshold="0.20"/>
-            <FRAG2 frag_size="60000"  />
-            <pbcast.STATE_TRANSFER/>
-            <pbcast.FLUSH timeout="20000"/>
-        </config>
-     </attribute>
+      <depends optional-attribute-name="ChannelFactoryName">jboss.jgroups:service=ChannelFactory</depends>
+      <attribute name="ControlChannelName">jbm-control</attribute>
+      <attribute name="DataChannelName">jbm-data</attribute>
+      <attribute name="ChannelPartitionName">${jboss.partition.name:DefaultPartition}-JMS</attribute>
    </mbean>
 
    <!-- Messaging JMS User Manager MBean config

Modified: branches/Branch_Stable/src/etc/server/default/deploy/oracle-persistence-service.xml
===================================================================
--- branches/Branch_Stable/src/etc/server/default/deploy/oracle-persistence-service.xml	2008-03-26 17:43:08 UTC (rev 3950)
+++ branches/Branch_Stable/src/etc/server/default/deploy/oracle-persistence-service.xml	2008-03-26 20:40:00 UTC (rev 3951)
@@ -154,128 +154,10 @@
       
       <attribute name="FailoverOnNodeLeave">false</attribute>
       
-      <!-- JGroups stack configuration for the data channel - used for sending data across the cluster -->
-
-      <!-- By default we use the TCP stack for data -->
-      <attribute name="DataChannelConfig">
-         <config>
-            <TCP 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="1"
-                 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="run"
-                 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/>
-            <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="false" view_bundling="true"/>
-        </config>
-      </attribute>
-
-      <!-- JGroups stack configuration to use for the control channel - used for control messages -->
-
-      <!-- We use udp stack for the control channel -->
-      <attribute name="ControlChannelConfig">
-         <config>
-            <UDP
-                 mcast_addr="${jboss.messaging.controlchanneludpaddress,jboss.partition.udpGroup:228.7.7.7}"
-                 mcast_port="${jboss.messaging.controlchanneludpport:45568}"
-                 tos="8"
-                 ucast_recv_buf_size="20000000"
-                 ucast_send_buf_size="640000"
-                 mcast_recv_buf_size="25000000"
-                 mcast_send_buf_size="640000"
-                 loopback="false"
-                 discard_incompatible_packets="true"
-                 max_bundle_size="64000"
-                 max_bundle_timeout="30"
-                 use_incoming_packet_handler="true"
-                 ip_ttl="${jboss.messaging.ipttl:8}"
-                 enable_bundling="false"
-                 enable_diagnostics="true"
-                 thread_naming_pattern="cl"
-
-                 use_concurrent_stack="true"
-
-                 thread_pool.enabled="true"
-                 thread_pool.min_threads="1"
-                 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="Run"
-
-                 oob_thread_pool.enabled="true"
-                 oob_thread_pool.min_threads="1"
-                 oob_thread_pool.max_threads="8"
-                 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="10000" 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="false"
-                view_bundling="true"/>
-            <FC max_credits="500000"
-                    min_threshold="0.20"/>
-            <FRAG2 frag_size="60000"  />
-            <pbcast.STATE_TRANSFER/>
-            <pbcast.FLUSH timeout="20000"/>
-        </config>
-     </attribute>
+      <depends optional-attribute-name="ChannelFactoryName">jboss.jgroups:service=ChannelFactory</depends>
+      <attribute name="ControlChannelName">jbm-control</attribute>
+      <attribute name="DataChannelName">jbm-data</attribute>
+      <attribute name="ChannelPartitionName">${jboss.partition.name:DefaultPartition}-JMS</attribute>
    </mbean>
 
    <!-- Messaging JMS User Manager MBean config

Modified: branches/Branch_Stable/src/etc/server/default/deploy/postgresql-persistence-service.xml
===================================================================
--- branches/Branch_Stable/src/etc/server/default/deploy/postgresql-persistence-service.xml	2008-03-26 17:43:08 UTC (rev 3950)
+++ branches/Branch_Stable/src/etc/server/default/deploy/postgresql-persistence-service.xml	2008-03-26 20:40:00 UTC (rev 3951)
@@ -150,128 +150,10 @@
       
       <attribute name="FailoverOnNodeLeave">false</attribute>
 
-      <!-- JGroups stack configuration for the data channel - used for sending data across the cluster -->
-
-      <!-- By default we use the TCP stack for data -->
-      <attribute name="DataChannelConfig">
-         <config>
-            <TCP 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="1"
-                 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="run"
-                 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/>
-            <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="false" view_bundling="true"/>
-        </config>
-      </attribute>
-
-      <!-- JGroups stack configuration to use for the control channel - used for control messages -->
-
-      <!-- We use udp stack for the control channel -->
-      <attribute name="ControlChannelConfig">
-         <config>
-            <UDP
-                 mcast_addr="${jboss.messaging.controlchanneludpaddress,jboss.partition.udpGroup:228.7.7.7}"
-                 mcast_port="${jboss.messaging.controlchanneludpport:45568}"
-                 tos="8"
-                 ucast_recv_buf_size="20000000"
-                 ucast_send_buf_size="640000"
-                 mcast_recv_buf_size="25000000"
-                 mcast_send_buf_size="640000"
-                 loopback="false"
-                 discard_incompatible_packets="true"
-                 max_bundle_size="64000"
-                 max_bundle_timeout="30"
-                 use_incoming_packet_handler="true"
-                 ip_ttl="${jboss.messaging.ipttl:8}"
-                 enable_bundling="false"
-                 enable_diagnostics="true"
-                 thread_naming_pattern="cl"
-
-                 use_concurrent_stack="true"
-
-                 thread_pool.enabled="true"
-                 thread_pool.min_threads="1"
-                 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="Run"
-
-                 oob_thread_pool.enabled="true"
-                 oob_thread_pool.min_threads="1"
-                 oob_thread_pool.max_threads="8"
-                 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="10000" 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="false"
-                view_bundling="true"/>
-            <FC max_credits="500000"
-                    min_threshold="0.20"/>
-            <FRAG2 frag_size="60000"  />
-            <pbcast.STATE_TRANSFER/>
-            <pbcast.FLUSH timeout="20000"/>
-        </config>
-     </attribute>
+      <depends optional-attribute-name="ChannelFactoryName">jboss.jgroups:service=ChannelFactory</depends>
+      <attribute name="ControlChannelName">jbm-control</attribute>
+      <attribute name="DataChannelName">jbm-data</attribute>
+      <attribute name="ChannelPartitionName">${jboss.partition.name:DefaultPartition}-JMS</attribute>
    </mbean>
 
    <!-- Messaging JMS User Manager MBean config

Modified: branches/Branch_Stable/src/etc/server/default/deploy/sybase-persistence-service.xml
===================================================================
--- branches/Branch_Stable/src/etc/server/default/deploy/sybase-persistence-service.xml	2008-03-26 17:43:08 UTC (rev 3950)
+++ branches/Branch_Stable/src/etc/server/default/deploy/sybase-persistence-service.xml	2008-03-26 20:40:00 UTC (rev 3951)
@@ -155,128 +155,10 @@
       
       <attribute name="FailoverOnNodeLeave">false</attribute>
       
-      <!-- JGroups stack configuration for the data channel - used for sending data across the cluster -->
-
-      <!-- By default we use the TCP stack for data -->
-      <attribute name="DataChannelConfig">
-         <config>
-            <TCP 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="1"
-                 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="run"
-                 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/>
-            <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="false" view_bundling="true"/>
-        </config>
-      </attribute>
-
-      <!-- JGroups stack configuration to use for the control channel - used for control messages -->
-
-      <!-- We use udp stack for the control channel -->
-      <attribute name="ControlChannelConfig">
-         <config>
-            <UDP
-                 mcast_addr="${jboss.messaging.controlchanneludpaddress,jboss.partition.udpGroup:228.7.7.7}"
-                 mcast_port="${jboss.messaging.controlchanneludpport:45568}"
-                 tos="8"
-                 ucast_recv_buf_size="20000000"
-                 ucast_send_buf_size="640000"
-                 mcast_recv_buf_size="25000000"
-                 mcast_send_buf_size="640000"
-                 loopback="false"
-                 discard_incompatible_packets="true"
-                 max_bundle_size="64000"
-                 max_bundle_timeout="30"
-                 use_incoming_packet_handler="true"
-                 ip_ttl="${jboss.messaging.ipttl:8}"
-                 enable_bundling="false"
-                 enable_diagnostics="true"
-                 thread_naming_pattern="cl"
-
-                 use_concurrent_stack="true"
-
-                 thread_pool.enabled="true"
-                 thread_pool.min_threads="1"
-                 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="Run"
-
-                 oob_thread_pool.enabled="true"
-                 oob_thread_pool.min_threads="1"
-                 oob_thread_pool.max_threads="8"
-                 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="10000" 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="false"
-                view_bundling="true"/>
-            <FC max_credits="500000"
-                    min_threshold="0.20"/>
-            <FRAG2 frag_size="60000"  />
-            <pbcast.STATE_TRANSFER/>
-            <pbcast.FLUSH timeout="20000"/>
-        </config>
-     </attribute>
+      <depends optional-attribute-name="ChannelFactoryName">jboss.jgroups:service=ChannelFactory</depends>
+      <attribute name="ControlChannelName">jbm-control</attribute>
+      <attribute name="DataChannelName">jbm-data</attribute>
+      <attribute name="ChannelPartitionName">${jboss.partition.name:DefaultPartition}-JMS</attribute>
    </mbean>
 
    <!-- Messaging JMS User Manager MBean config

Added: branches/Branch_Stable/tests/etc/server/default/deploy/mock-channelfactory-service.xml
===================================================================
--- branches/Branch_Stable/tests/etc/server/default/deploy/mock-channelfactory-service.xml	                        (rev 0)
+++ branches/Branch_Stable/tests/etc/server/default/deploy/mock-channelfactory-service.xml	2008-03-26 20:40:00 UTC (rev 3951)
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<server>
+
+
+    <!--
+    An example for setting up the JChannelFactory MBean
+    Author: Bela Ban
+    Version: $Id$
+    -->
+    <mbean code="org.jgroups.jmx.JChannelFactory" name="jboss.jgroups:service=ChannelFactory">
+    <!--mbean code="org.jgroups.JChannelFactory" name="jgroups.mux:name=Multiplexer" xmbean-dd="resource:META-INF/multiplexer-xmbean.xml" -->
+        <attribute name="Domain">jboss.jgroups</attribute>
+        <attribute name="MultiplexerConfig">server/default/deploy/mock-channelfactory-stacks.xml</attribute>
+        <attribute name="ExposeChannels">true</attribute>
+        <attribute name="ExposeProtocols">true</attribute>
+
+        <!-- The address used to determine the node name  -->
+        <!-- <attribute name="NodeAddress">${jboss.bind.address}</attribute> -->
+
+    </mbean>
+
+
+</server>


Property changes on: branches/Branch_Stable/tests/etc/server/default/deploy/mock-channelfactory-service.xml
___________________________________________________________________
Name: svn:keywords
   + Id LastChangedDate Author Revision

Added: branches/Branch_Stable/tests/etc/server/default/deploy/mock-channelfactory-stacks.xml
===================================================================
--- branches/Branch_Stable/tests/etc/server/default/deploy/mock-channelfactory-stacks.xml	                        (rev 0)
+++ branches/Branch_Stable/tests/etc/server/default/deploy/mock-channelfactory-stacks.xml	2008-03-26 20:40:00 UTC (rev 3951)
@@ -0,0 +1,128 @@
+<!--
+  Standard JGroups protocol stacks definitions, used by the JChannelFactory bean.
+  Author: Bela Ban, Brian Stansberry
+  Version: $Id$
+-->
+<protocol_stacks>
+    <stack name="jbm-control"
+           description="Stack optimized for the JBoss Messaging Control Channel">
+       <config>
+            <UDP
+                 mcast_addr="${jboss.messaging.controlchanneludpaddress,jboss.partition.udpGroup:228.7.7.7}"
+                 mcast_port="${jboss.messaging.controlchanneludpport:45568}"
+                 tos="8"
+                 ucast_recv_buf_size="20000000"
+                 ucast_send_buf_size="640000"
+                 mcast_recv_buf_size="25000000"
+                 mcast_send_buf_size="640000"
+                 loopback="false"
+                 discard_incompatible_packets="true"
+                 max_bundle_size="64000"
+                 max_bundle_timeout="30"
+                 use_incoming_packet_handler="true"
+                 ip_ttl="${jboss.messaging.ipttl:8}"
+                 enable_bundling="false"
+                 enable_diagnostics="true"
+                 thread_naming_pattern="cl"
+
+                 use_concurrent_stack="true"
+
+                 thread_pool.enabled="true"
+                 thread_pool.min_threads="1"
+                 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="Run"
+
+                 oob_thread_pool.enabled="true"
+                 oob_thread_pool.min_threads="1"
+                 oob_thread_pool.max_threads="8"
+                 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="10000" 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="false"
+                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"
+           description="Stack optimized for the JBoss Messaging Data Channel">
+        <config>
+            <TCP 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="1"
+                 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="run"
+                 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/>
+            <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="false" view_bundling="true"/>
+        </config>
+    </stack>
+           
+</protocol_stacks>
+
+


Property changes on: branches/Branch_Stable/tests/etc/server/default/deploy/mock-channelfactory-stacks.xml
___________________________________________________________________
Name: svn:keywords
   + Id LastChangedDate Author Revision

Added: branches/Branch_Stable/tests/src/org/jboss/test/messaging/jms/server/channelfactory/MockChannelFactory.java
===================================================================
--- branches/Branch_Stable/tests/src/org/jboss/test/messaging/jms/server/channelfactory/MockChannelFactory.java	                        (rev 0)
+++ branches/Branch_Stable/tests/src/org/jboss/test/messaging/jms/server/channelfactory/MockChannelFactory.java	2008-03-26 20:40:00 UTC (rev 3951)
@@ -0,0 +1,332 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2007, 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.server.channelfactory;
+
+
+import java.net.InetAddress;
+
+import org.jboss.logging.Logger;
+import org.jboss.system.ServiceMBean;
+import org.jgroups.Channel;
+import org.jgroups.Global;
+
+
+/**
+ * Extension to the JGroups JChannelFactory that supports the addition
+ * of "additional_data" to the channel config.
+ * 
+ * @author <a href="mailto://brian.stansberry@jboss.com">Brian Stansberry</a>
+ * @author <a href="mailto://clebert.suconic@jboss.com">Clebert Suconic</a> (Only cut unecessary stuff for the MOCK)
+ * @version $Revision$
+ */
+
+public class MockChannelFactory extends org.jgroups.JChannelFactory
+{
+   protected static Logger log = Logger.getLogger(MockChannelFactory.class);
+   
+   private static final int CREATED = ServiceMBean.CREATED;
+   private static final int STARTING = ServiceMBean.STARTING;
+   private static final int STARTED = ServiceMBean.STARTED;
+   private static final int STOPPING = ServiceMBean.STOPPING;
+   private static final int STOPPED = ServiceMBean.STOPPED;
+   private static final int DESTROYED = ServiceMBean.DESTROYED;
+   private static final int FAILED = ServiceMBean.FAILED;
+   
+   private InetAddress nodeAddress;
+   private String nodeName;
+   private int namingServicePort = -1;
+   private int state;
+   private boolean assignLogicalAddresses = true;
+
+   /**
+    * Overrides the superclass version by generating a unique node id
+    * and passing it down the Channel as additional_data and by suppressing the 
+    * <code>register_for_state_transfer</code> param.
+    * <p/>
+    * The additional data is the value of {@link #getNodeName()} which either
+    * can be injected as part of configuration or will be calculated 
+    * the first time a channel is created.
+    * <p/>
+    * Suppressing the <code>register_for_state_transfer</code> param is necessary
+    * to avoid issues that occur with JGroups when it is <code>true</code>.
+    * In JBoss AS there is little benefit to setting this to true, as the 
+    * single-threaded nature of deployments in the AS ensures that services 
+    * always connect channels and request state transfer in series, with no
+    * interleaving. 
+    * 
+    * @param register_for_state_transfer  ignored; always treated as <code>false</code>
+    */
+   @Override
+   public Channel createMultiplexerChannel(String stack_name, String id, boolean register_for_state_transfer, String substate_id) throws Exception
+   {
+      // Due to problems with coordinated state transfer, we suppress register_for_state_transfer usage.
+      // TODO revert to normal if coordinated state transfer is fixed
+//      Channel channel = super.createMultiplexerChannel(stack_name, id, register_for_state_transfer, substate_id);
+      Channel channel = createSharedTransportChannel(stack_name);
+      
+      if (channel == null)      
+      {
+         log.debug("Config for " + stack_name + " does not include singleton_name; creating MuxChannel. Config is " + getConfig(stack_name));
+         channel = super.createMultiplexerChannel(stack_name, id, false, null);
+      }
+      
+      return channel;
+   }
+   
+   /**
+    * Overrides the superclass version by generating a unique node id
+    * and passing it down the Channel as additional_data.
+    */
+   @Override
+   public Channel createMultiplexerChannel(String stack_name, String id) throws Exception
+   {
+      return createMultiplexerChannel(stack_name, id, false, null);
+   }
+
+   public InetAddress getNodeAddress()
+   {
+      return nodeAddress;
+   }
+
+
+   public void setNodeAddress(InetAddress nodeAddress)
+   {
+      this.nodeAddress = nodeAddress;
+   }
+
+
+   public String getNodeName()
+   {
+      return nodeName;
+   }
+
+
+   public void setNodeName(String nodeName)
+   {
+      this.nodeName = nodeName;
+   }
+
+   public int getNamingServicePort()
+   {
+      return namingServicePort;
+   }
+
+   public void setNamingServicePort(int jndiPort)
+   {
+      this.namingServicePort = jndiPort;
+   }
+   
+   /**
+    * Gets whether this factory should create a "logical address" (or use
+    * one set via {@link #setNodeName(String)} and assign it to
+    * any newly created <code>Channel</code> as JGroups "additional_data".
+    * 
+    * @see #setAssignLogicalAddresses(boolean)
+    */
+   public boolean getAssignLogicalAddresses()
+   {
+      return assignLogicalAddresses;
+   }
+
+   /**
+    * Sets whether this factory should create a "logical address" (or use
+    * one set via {@link #setNodeName(String)} and assign it to
+    * any newly created <code>Channel</code> as JGroups "additional_data".
+    * <p>
+    * Any such logical address will be used by <code>HAPartition</code>
+    * to assign a name to the <code>ClusterNode</code> object representing 
+    * this node. If a logical address is not set, the <code>ClusterNode</code> 
+    * will use the address and port JGroups is using to receive messages to
+    * create its name.
+    * </p>
+    * <p>
+    * Default is <code>true</code>.
+    * </p>
+    */
+   public void setAssignLogicalAddresses(boolean logicalAddresses)
+   {
+      this.assignLogicalAddresses = logicalAddresses;
+   }
+
+   @Override
+   public void create() throws Exception
+   {
+
+      if (state == CREATED || state == STARTING || state == STARTED
+         || state == STOPPING || state == STOPPED)
+      {
+         log.debug("Ignoring create call; current state is " + getStateString());
+         return;
+      }
+      
+      log.debug("Creating JChannelFactory");
+      
+      try
+      {
+         super.create();
+         state = CREATED;
+      }
+      catch (Exception e)
+      {
+         log.debug("Initialization failed JChannelFactory", e);
+         throw e;
+      }
+      
+      log.debug("Created JChannelFactory");
+      super.create();
+   }
+
+   @Override
+   public void start() throws Exception
+   {
+      if (state == STARTING || state == STARTED || state == STOPPING)
+      {
+         log.debug("Ignoring start call; current state is " + getStateString());
+         return;
+      }
+      
+      if (state != CREATED && state != STOPPED && state != FAILED)
+      {
+         log.debug("Start requested before create, calling create now");         
+         create();
+      }
+      
+      state = STARTING;
+      log.debug("Starting JChannelFactory");
+
+      try
+      {
+         super.start();
+      }
+      catch (Exception e)
+      {
+         state = FAILED;
+         log.debug("Starting failed JChannelFactory", e);
+         throw e;
+      }
+
+      state = STARTED;
+      log.debug("Started JChannelFactory");
+      
+   }
+
+   @Override
+   public void stop()
+   {
+      if (state != STARTED)
+      {
+         log.debug("Ignoring stop call; current state is " + getStateString());
+         return;
+      }
+      
+      state = STOPPING;
+      log.debug("Stopping JChannelFactory");
+
+      try
+      {
+         super.stop();
+      }
+      catch (Throwable e)
+      {
+         state = FAILED;
+         log.warn("Stopping failed JChannelFactory", e);
+         return;
+      }
+      
+      state = STOPPED;
+      log.debug("Stopped JChannelFactory");
+   }
+
+   @Override
+   public void destroy()
+   {
+      if (state == DESTROYED)
+      {
+         log.debug("Ignoring destroy call; current state is " + getStateString());
+         return;
+      }
+      
+      if (state == STARTED)
+      {
+         log.debug("Destroy requested before stop, calling stop now");
+         stop();
+      }
+      
+      log.debug("Destroying JChannelFactory");
+      
+      try
+      {
+         super.destroy();
+      }
+      catch (Throwable t)
+      {
+         log.warn("Destroying failed JChannelFactory", t);
+      }
+      state = DESTROYED;
+      log.debug("Destroyed JChannelFactory");
+   }
+   
+   /**
+    * Checks whether the transport protocol configuration for <code>stack_name</code>
+    * supports the shared use of the protocol between channels, creating a
+    * returning a channel if it does.
+    * <p>
+    * Determines whether a shared transport is possible by looking for the
+    * {@link Global#SINGLETON_NAME} parameter in the configuration of the
+    * first protocol in the string returned by {@link #getConfig(String)}.
+    * </p> 
+    * 
+    * @param stack_name the name of the protocol stack
+    * @return a channel configured per <code>stack_name</code>, or <code>null</code>
+    *         if <code>stack_name</code> is not a register protocol stack or
+    *         its transport protocol configuration does not support sharing.
+    * 
+    * @throws Exception
+    */
+   public Channel createSharedTransportChannel(String stack_name) throws Exception
+   {
+      Channel ch = null;
+      String config = getConfig(stack_name);
+      if (config != null)
+      {
+         // Format of string is 
+         // PROTOCOL1(param1=value1;param2=value2):PROTOCOL2(param1=value1;param2=value2):
+         // PROTOCOL1 is always the transport protocol.
+         // We look for the singleton_name param in the transport protocol
+         int tp_idx = config.indexOf("):");
+         int singleton_idx = config.indexOf(Global.SINGLETON_NAME);
+         if (singleton_idx > -1 && singleton_idx < tp_idx)
+         {
+            ch = createChannel(stack_name);
+         }
+      }      
+      return ch;
+   }
+
+   private String getStateString()
+   {
+      return ServiceMBean.states[state];
+   }
+
+   
+}


Property changes on: branches/Branch_Stable/tests/src/org/jboss/test/messaging/jms/server/channelfactory/MockChannelFactory.java
___________________________________________________________________
Name: svn:keywords
   + Id LastChangedDate Author Revision

Modified: branches/Branch_Stable/tests/src/org/jboss/test/messaging/tools/container/ServiceContainer.java
===================================================================
--- branches/Branch_Stable/tests/src/org/jboss/test/messaging/tools/container/ServiceContainer.java	2008-03-26 17:43:08 UTC (rev 3950)
+++ branches/Branch_Stable/tests/src/org/jboss/test/messaging/tools/container/ServiceContainer.java	2008-03-26 20:40:00 UTC (rev 3951)
@@ -200,7 +200,7 @@
    private boolean remoting;
    private boolean security;
    private boolean httpConnectionFactory;
-   private boolean multiplexer; // the JGroups channels multiplexer
+   private boolean channelfactory; // the JGroups channels multiplexer
 
    private List toUnbindAtExit;
    private String ipAddressOrHostName;
@@ -421,9 +421,9 @@
             startSecurityManager();
          }
 
-         if (multiplexer)
+         if (channelfactory)
          {
-            startMultiplexer();
+            startChannelFactory();
          }
 
          loadJNDIContexts();
@@ -1561,21 +1561,21 @@
       log.debug("done with the deleting data");
    }
 
-   private void startMultiplexer() throws Exception
+   private void startChannelFactory() throws Exception
    {
       log.debug("Starting multiplexer");
 
-      String multiplexerConfigFile = "server/default/deploy/multiplexer-service.xml";
-      URL multiplexerCofigURL = getClass().getClassLoader().getResource(multiplexerConfigFile);
+      String channelFactory = "server/default/deploy/mock-channelfactory-service.xml";
+      URL multiplexerCofigURL = getClass().getClassLoader().getResource(channelFactory);
 
       if (multiplexerCofigURL == null)
       {
          throw new Exception("Cannot find " + multiplexerCofigURL + " in the classpath");
       }
 
-      ServiceDeploymentDescriptor multiplexerDD = ServiceConfigHelper.loadConfigFile(multiplexerConfigFile);
+      ServiceDeploymentDescriptor multiplexerDD = ServiceConfigHelper.loadConfigFile(channelFactory);
 
-      List services = multiplexerDD.query("name", "Multiplexer");
+      List services = multiplexerDD.query("service", "ChannelFactory");
 
       if (services.isEmpty())
       {
@@ -1694,10 +1694,12 @@
             jca = true;
             remoting = true;
             security = true;
+            channelfactory = true;
          }
          else
          if ("all+http".equals(tok))
          {
+            channelfactory = true;
          	transaction = true;
             database = true;
             jca = true;
@@ -1745,12 +1747,12 @@
                security = false;
             }
          }
-         else if ("multiplexer".equals(tok))
+         else if ("channelfactory".equals(tok))
          {
-            multiplexer = true;
+            channelfactory = true;
             if (minus)
             {
-               multiplexer = false;
+               channelfactory = false;
             }
          }
          else if ("none".equals(tok))
@@ -1760,7 +1762,7 @@
             jca = false;
             remoting = false;
             security = false;
-            multiplexer = false;
+            channelfactory = false;
          }
          else
          {




More information about the jboss-cvs-commits mailing list