Index: src/main/java/net/sf/ehcache/distribution/jgroups/JGroupsCacheManagerPeerProvider.java
===================================================================
--- src/main/java/net/sf/ehcache/distribution/jgroups/JGroupsCacheManagerPeerProvider.java	(revision 2903)
+++ src/main/java/net/sf/ehcache/distribution/jgroups/JGroupsCacheManagerPeerProvider.java	(working copy)
@@ -59,6 +59,7 @@
     private final CacheManager cacheManager;
     private final String groupProperties;
     private final URL groupUrl;
+    private String channelName;
     
     private JChannel channel;
     private JGroupsCachePeer cachePeer;
@@ -95,6 +96,13 @@
     }
     
     /**
+     * Set the name of the JChannel, if null the cache manager name is used.
+     */
+    public void setChannelName(String channelName) {
+        this.channelName = channelName;
+    }
+
+    /**
      * Given an {@link Ehcache} get the corresponding instance of this class.
      */
     public static JGroupsCacheManagerPeerProvider getCachePeerProvider(Ehcache cache) {
@@ -295,6 +303,10 @@
      * @return The cluster name for JMX registration 
      */
     public String getClusterName() {
+        if (this.channelName != null) {
+            return this.channelName;
+        }
+        
         if (this.cacheManager.isNamed()) {
             return this.cacheManager.getName();
         }
Index: src/main/java/net/sf/ehcache/distribution/jgroups/JGroupsCacheManagerPeerProviderFactory.java
===================================================================
--- src/main/java/net/sf/ehcache/distribution/jgroups/JGroupsCacheManagerPeerProviderFactory.java	(revision 2903)
+++ src/main/java/net/sf/ehcache/distribution/jgroups/JGroupsCacheManagerPeerProviderFactory.java	(working copy)
@@ -37,6 +37,7 @@
 public class JGroupsCacheManagerPeerProviderFactory extends CacheManagerPeerProviderFactory {
     private static final Logger LOG = LoggerFactory.getLogger(JGroupsCacheManagerPeerProviderFactory.class.getName());
     
+    private static final String CHANNEL_NAME = "channel_name";
     private static final String CONNECT = "connect";
     private static final String FILE = "file";
 
@@ -49,6 +50,7 @@
         
         final String connect = this.getProperty(CONNECT, properties);
         final String file = this.getProperty(FILE, properties);
+        final String channelName = this.getProperty(CHANNEL_NAME, properties);
         
         final JGroupsCacheManagerPeerProvider peerProvider;
         if (file != null) {
@@ -66,19 +68,21 @@
             peerProvider = new JGroupsCacheManagerPeerProvider(cacheManager, connect);
         }
         
+        peerProvider.setChannelName(channelName);
+        
         return peerProvider;
     }
 
     private String getProperty(final String name, Properties properties) {
-        String connect = PropertyUtil.extractAndLogProperty(name, properties);
-        if (connect != null) {
-            connect = connect.trim();
-            connect = connect.replaceAll(" ", "");
-            if (connect.equals("")) {
-                connect = null;
+        String property = PropertyUtil.extractAndLogProperty(name, properties);
+        if (property != null) {
+            property = property.trim();
+            property = property.replaceAll(" ", "");
+            if (property.equals("")) {
+                property = null;
             }
         }
-        return connect;
+        return property;
     }
 
 }
Index: src/test/java/net/sf/ehcache/distribution/jgroups/CacheTestUtilities.java
===================================================================
--- src/test/java/net/sf/ehcache/distribution/jgroups/CacheTestUtilities.java	(revision 2903)
+++ src/test/java/net/sf/ehcache/distribution/jgroups/CacheTestUtilities.java	(working copy)
@@ -37,8 +37,23 @@
      * config file location. We have three thats less us test, with a manual change, different ways of configuring
      * JGroups
      */
-    public static final URL ASYNC_CONFIG_URL =
-            ClassLoaderUtil.getStandardClassLoader().getResource("distribution/jgroups/ehcache-distributed-jgroups-file.xml");
+    public static final URL ASYNC_CONFIG_URL1 =
+            ClassLoaderUtil.getStandardClassLoader().getResource("distribution/jgroups/ehcache-distributed-jgroups-file-manager1.xml");
+    /**
+     * Config file 2
+     */
+    public static final URL ASYNC_CONFIG_URL2 =
+            ClassLoaderUtil.getStandardClassLoader().getResource("distribution/jgroups/ehcache-distributed-jgroups-file-manager2.xml");
+    /**
+     * Config file 3
+     */
+    public static final URL ASYNC_CONFIG_URL3 =
+            ClassLoaderUtil.getStandardClassLoader().getResource("distribution/jgroups/ehcache-distributed-jgroups-file-manager3.xml");
+    /**
+     * Config file 4
+     */
+    public static final URL ASYNC_CONFIG_URL4 =
+            ClassLoaderUtil.getStandardClassLoader().getResource("distribution/jgroups/ehcache-distributed-jgroups-file-manager4.xml");
 
     private static final ThreadLocal<String> THREAD_NAME = new ThreadLocal<String>();
 
Index: src/test/java/net/sf/ehcache/distribution/jgroups/JGroupsBootstrapCacheLoaderTest.java
===================================================================
--- src/test/java/net/sf/ehcache/distribution/jgroups/JGroupsBootstrapCacheLoaderTest.java	(revision 2903)
+++ src/test/java/net/sf/ehcache/distribution/jgroups/JGroupsBootstrapCacheLoaderTest.java	(working copy)
@@ -78,10 +78,10 @@
         CacheTestUtilities.startTest(name.getMethodName());
         LOG.info("SETUP");
 
-        manager1 = new CacheManager(CacheTestUtilities.ASYNC_CONFIG_URL);
+        manager1 = new CacheManager(CacheTestUtilities.ASYNC_CONFIG_URL1);
         CacheTestUtilities.waitForBootstrap(manager1, MAX_WAIT_TIME);
         
-        manager2 = new CacheManager(CacheTestUtilities.ASYNC_CONFIG_URL);
+        manager2 = new CacheManager(CacheTestUtilities.ASYNC_CONFIG_URL2);
         CacheTestUtilities.waitForBootstrap(manager2, MAX_WAIT_TIME);
     }
 
@@ -149,7 +149,7 @@
         //Verify normal replication worked
         assertEquals(testElementCount, cache1.getSize());
 
-        manager3 = new CacheManager(CacheTestUtilities.ASYNC_CONFIG_URL);
+        manager3 = new CacheManager(CacheTestUtilities.ASYNC_CONFIG_URL3);
         //Wait for bootstrap to complete
         CacheTestUtilities.waitForBootstrap(manager3, MAX_WAIT_TIME);
         
@@ -192,7 +192,7 @@
         //Verify normal replication worked
         assertEquals(testElementCount, cache1.getSize());
 
-        manager3 = new CacheManager(CacheTestUtilities.ASYNC_CONFIG_URL);
+        manager3 = new CacheManager(CacheTestUtilities.ASYNC_CONFIG_URL3);
         //Wait for bootstrap to complete
         CacheTestUtilities.waitForBootstrap(manager3, MAX_WAIT_TIME);
         
Index: src/test/java/net/sf/ehcache/distribution/jgroups/JGroupsReplicationTest.java
===================================================================
--- src/test/java/net/sf/ehcache/distribution/jgroups/JGroupsReplicationTest.java	(revision 2903)
+++ src/test/java/net/sf/ehcache/distribution/jgroups/JGroupsReplicationTest.java	(working copy)
@@ -74,16 +74,16 @@
         CacheTestUtilities.startTest(name.getMethodName());
         LOG.info("SETUP");
         
-        manager1 = new CacheManager(CacheTestUtilities.ASYNC_CONFIG_URL);
+        manager1 = new CacheManager(CacheTestUtilities.ASYNC_CONFIG_URL1);
         CacheTestUtilities.waitForBootstrap(manager1, MAX_WAIT_TIME);
         
-        manager2 = new CacheManager(CacheTestUtilities.ASYNC_CONFIG_URL);
+        manager2 = new CacheManager(CacheTestUtilities.ASYNC_CONFIG_URL2);
         CacheTestUtilities.waitForBootstrap(manager2, MAX_WAIT_TIME);
         
-        manager3 = new CacheManager(CacheTestUtilities.ASYNC_CONFIG_URL);
+        manager3 = new CacheManager(CacheTestUtilities.ASYNC_CONFIG_URL3);
         CacheTestUtilities.waitForBootstrap(manager3, MAX_WAIT_TIME);
         
-        manager4 = new CacheManager(CacheTestUtilities.ASYNC_CONFIG_URL);
+        manager4 = new CacheManager(CacheTestUtilities.ASYNC_CONFIG_URL4);
         CacheTestUtilities.waitForBootstrap(manager4, MAX_WAIT_TIME);
         
         cacheName = SAMPLE_CACHE1;
@@ -191,7 +191,7 @@
             manager1.shutdown();
         }
         
-        manager1 = new CacheManager(CacheTestUtilities.ASYNC_CONFIG_URL);
+        manager1 = new CacheManager(CacheTestUtilities.ASYNC_CONFIG_URL1);
         CacheTestUtilities.waitForBootstrap(manager1, MAX_WAIT_TIME);
         
         final Ehcache cache1 = manager1.getEhcache(cacheName);
Index: src/test/resources/distribution/jgroups/ehcache-distributed-jgroups-file-manager1.xml
===================================================================
--- src/test/resources/distribution/jgroups/ehcache-distributed-jgroups-file-manager1.xml	(revision 0)
+++ src/test/resources/distribution/jgroups/ehcache-distributed-jgroups-file-manager1.xml	(revision 0)
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ehcache
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd"
+    updateCheck="false" name="manager1">
+
+     <cacheManagerPeerProviderFactory
+        class="net.sf.ehcache.distribution.jgroups.JGroupsCacheManagerPeerProviderFactory"
+        properties="channel_name=EH_CACHE::file=distribution/jgroups/udp.xml"
+        propertySeparator="::" />
+
+    <!--
+
+        Cluster Bootstrapping
+        +++++++++++++++++++++
+    
+        The JGroupsBootstrapCacheLoaderFactory bootstraps caches in JGroups clusters:
+    
+       <bootstrapCacheLoaderFactory
+           class="net.sf.ehcache.distribution.jgroups.JGroupsBootstrapCacheLoaderFactory"
+           properties="bootstrapAsynchronously=true" />
+    
+        The JGroupsBootstrapCacheLoaderFactory recognises the following optional properties:
+    
+        * bootstrapAsynchronously=true|false - whether the bootstrap happens in the background
+          after the cache has started. If false, bootstrapping must complete before the cache is
+          made available. The default value is true.
+    
+        * maximumChunkSizeBytes=<integer> - Caches can potentially be very large, larger than the
+          memory limits of the VM. This property allows the bootstraper to fetched elements in
+          chunks. The default chunk size is 5000000 (5MB).
+    -->
+
+    <defaultCache
+        maxElementsInMemory="2000"
+        eternal="false"
+        timeToIdleSeconds="10000"
+        timeToLiveSeconds="10000"
+        overflowToDisk="false">
+        
+        <bootstrapCacheLoaderFactory
+            class="net.sf.ehcache.distribution.jgroups.JGroupsBootstrapCacheLoaderFactory" />
+    </defaultCache>
+
+    <cache
+        name="sampleCacheAsync"
+        maxElementsInMemory="2000"
+        eternal="false"
+        timeToIdleSeconds="10000"
+        timeToLiveSeconds="10000"
+        overflowToDisk="false">
+        
+        <cacheEventListenerFactory
+            class="net.sf.ehcache.distribution.jgroups.JGroupsCacheReplicatorFactory"
+            properties="replicateAsynchronously=true, replicatePuts=true,
+                        replicateUpdates=true, replicateUpdatesViaCopy=false,
+                        replicateRemovals=true, asynchronousReplicationIntervalMillis=1000" />
+        
+        <bootstrapCacheLoaderFactory
+            class="net.sf.ehcache.distribution.jgroups.JGroupsBootstrapCacheLoaderFactory" />
+    </cache>
+
+    <cache
+        name="sampleCacheAsync2"
+        maxElementsInMemory="2000"
+        eternal="false"
+        timeToIdleSeconds="10000"
+        timeToLiveSeconds="10000"
+        overflowToDisk="false">
+        
+        <cacheEventListenerFactory
+            class="net.sf.ehcache.distribution.jgroups.JGroupsCacheReplicatorFactory"
+            properties="replicateAsynchronously=false, replicatePuts=true,
+                        replicateUpdates=true, replicateUpdatesViaCopy=false,
+                        replicateRemovals=true" />
+        <bootstrapCacheLoaderFactory
+            class="net.sf.ehcache.distribution.jgroups.JGroupsBootstrapCacheLoaderFactory"
+            properties="bootstrapAsynchronously=true" />
+    </cache>
+
+    <cache
+        name="sampleCacheSyncBootstrap"
+        maxElementsInMemory="2000"
+        eternal="false"
+        timeToIdleSeconds="10000"
+        timeToLiveSeconds="10000"
+        overflowToDisk="false">
+        
+        <cacheEventListenerFactory
+            class="net.sf.ehcache.distribution.jgroups.JGroupsCacheReplicatorFactory"
+            properties="replicateAsynchronously=false, replicatePuts=true,
+                        replicateUpdates=true, replicateUpdatesViaCopy=false,
+                        replicateRemovals=true" />
+        <bootstrapCacheLoaderFactory
+            class="net.sf.ehcache.distribution.jgroups.JGroupsBootstrapCacheLoaderFactory"
+            properties="bootstrapAsynchronously=false" />
+    </cache>
+
+    <cache
+        name="sampleCacheNorep"
+        maxElementsInMemory="2000"
+        eternal="false"
+        timeToIdleSeconds="10000"
+        timeToLiveSeconds="10000"
+        overflowToDisk="false">
+        
+        <cacheEventListenerFactory
+            class="net.sf.ehcache.distribution.jgroups.JGroupsCacheReplicatorFactory"
+            properties="replicateAsynchronously=false, replicatePuts=false,
+                        replicateUpdates=false, replicateUpdatesViaCopy=false,
+                        replicateRemovals=false" />
+    </cache>
+</ehcache>

Property changes on: src/test/resources/distribution/jgroups/ehcache-distributed-jgroups-file-manager1.xml
___________________________________________________________________
Added: svn:executable
   + *
Added: svn:mime-type
   + text/xml
Added: svn:keywords
   + Date Revision Author HeadURL Id
Added: svn:eol-style
   + native

Index: src/test/resources/distribution/jgroups/ehcache-distributed-jgroups-file-manager2.xml
===================================================================
--- src/test/resources/distribution/jgroups/ehcache-distributed-jgroups-file-manager2.xml	(revision 0)
+++ src/test/resources/distribution/jgroups/ehcache-distributed-jgroups-file-manager2.xml	(revision 0)
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ehcache
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd"
+    updateCheck="false" name="manager2">
+
+     <cacheManagerPeerProviderFactory
+        class="net.sf.ehcache.distribution.jgroups.JGroupsCacheManagerPeerProviderFactory"
+        properties="channel_name=EH_CACHE::file=distribution/jgroups/udp.xml"
+        propertySeparator="::" />
+
+    <!--
+
+        Cluster Bootstrapping
+        +++++++++++++++++++++
+    
+        The JGroupsBootstrapCacheLoaderFactory bootstraps caches in JGroups clusters:
+    
+       <bootstrapCacheLoaderFactory
+           class="net.sf.ehcache.distribution.jgroups.JGroupsBootstrapCacheLoaderFactory"
+           properties="bootstrapAsynchronously=true" />
+    
+        The JGroupsBootstrapCacheLoaderFactory recognises the following optional properties:
+    
+        * bootstrapAsynchronously=true|false - whether the bootstrap happens in the background
+          after the cache has started. If false, bootstrapping must complete before the cache is
+          made available. The default value is true.
+    
+        * maximumChunkSizeBytes=<integer> - Caches can potentially be very large, larger than the
+          memory limits of the VM. This property allows the bootstraper to fetched elements in
+          chunks. The default chunk size is 5000000 (5MB).
+    -->
+
+    <defaultCache
+        maxElementsInMemory="2000"
+        eternal="false"
+        timeToIdleSeconds="10000"
+        timeToLiveSeconds="10000"
+        overflowToDisk="false">
+        
+        <bootstrapCacheLoaderFactory
+            class="net.sf.ehcache.distribution.jgroups.JGroupsBootstrapCacheLoaderFactory" />
+    </defaultCache>
+
+    <cache
+        name="sampleCacheAsync"
+        maxElementsInMemory="2000"
+        eternal="false"
+        timeToIdleSeconds="10000"
+        timeToLiveSeconds="10000"
+        overflowToDisk="false">
+        
+        <cacheEventListenerFactory
+            class="net.sf.ehcache.distribution.jgroups.JGroupsCacheReplicatorFactory"
+            properties="replicateAsynchronously=true, replicatePuts=true,
+                        replicateUpdates=true, replicateUpdatesViaCopy=false,
+                        replicateRemovals=true, asynchronousReplicationIntervalMillis=1000" />
+        
+        <bootstrapCacheLoaderFactory
+            class="net.sf.ehcache.distribution.jgroups.JGroupsBootstrapCacheLoaderFactory" />
+    </cache>
+
+    <cache
+        name="sampleCacheAsync2"
+        maxElementsInMemory="2000"
+        eternal="false"
+        timeToIdleSeconds="10000"
+        timeToLiveSeconds="10000"
+        overflowToDisk="false">
+        
+        <cacheEventListenerFactory
+            class="net.sf.ehcache.distribution.jgroups.JGroupsCacheReplicatorFactory"
+            properties="replicateAsynchronously=false, replicatePuts=true,
+                        replicateUpdates=true, replicateUpdatesViaCopy=false,
+                        replicateRemovals=true" />
+        <bootstrapCacheLoaderFactory
+            class="net.sf.ehcache.distribution.jgroups.JGroupsBootstrapCacheLoaderFactory"
+            properties="bootstrapAsynchronously=true" />
+    </cache>
+
+    <cache
+        name="sampleCacheSyncBootstrap"
+        maxElementsInMemory="2000"
+        eternal="false"
+        timeToIdleSeconds="10000"
+        timeToLiveSeconds="10000"
+        overflowToDisk="false">
+        
+        <cacheEventListenerFactory
+            class="net.sf.ehcache.distribution.jgroups.JGroupsCacheReplicatorFactory"
+            properties="replicateAsynchronously=false, replicatePuts=true,
+                        replicateUpdates=true, replicateUpdatesViaCopy=false,
+                        replicateRemovals=true" />
+        <bootstrapCacheLoaderFactory
+            class="net.sf.ehcache.distribution.jgroups.JGroupsBootstrapCacheLoaderFactory"
+            properties="bootstrapAsynchronously=false" />
+    </cache>
+
+    <cache
+        name="sampleCacheNorep"
+        maxElementsInMemory="2000"
+        eternal="false"
+        timeToIdleSeconds="10000"
+        timeToLiveSeconds="10000"
+        overflowToDisk="false">
+        
+        <cacheEventListenerFactory
+            class="net.sf.ehcache.distribution.jgroups.JGroupsCacheReplicatorFactory"
+            properties="replicateAsynchronously=false, replicatePuts=false,
+                        replicateUpdates=false, replicateUpdatesViaCopy=false,
+                        replicateRemovals=false" />
+    </cache>
+</ehcache>

Property changes on: src/test/resources/distribution/jgroups/ehcache-distributed-jgroups-file-manager2.xml
___________________________________________________________________
Added: svn:executable
   + *
Added: svn:mime-type
   + text/xml
Added: svn:keywords
   + Date Revision Author HeadURL Id
Added: svn:eol-style
   + native

Index: src/test/resources/distribution/jgroups/ehcache-distributed-jgroups-file-manager3.xml
===================================================================
--- src/test/resources/distribution/jgroups/ehcache-distributed-jgroups-file-manager3.xml	(revision 0)
+++ src/test/resources/distribution/jgroups/ehcache-distributed-jgroups-file-manager3.xml	(revision 0)
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ehcache
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd"
+    updateCheck="false" name="manager3">
+
+     <cacheManagerPeerProviderFactory
+        class="net.sf.ehcache.distribution.jgroups.JGroupsCacheManagerPeerProviderFactory"
+        properties="channel_name=EH_CACHE::file=distribution/jgroups/udp.xml"
+        propertySeparator="::" />
+
+    <!--
+
+        Cluster Bootstrapping
+        +++++++++++++++++++++
+    
+        The JGroupsBootstrapCacheLoaderFactory bootstraps caches in JGroups clusters:
+    
+       <bootstrapCacheLoaderFactory
+           class="net.sf.ehcache.distribution.jgroups.JGroupsBootstrapCacheLoaderFactory"
+           properties="bootstrapAsynchronously=true" />
+    
+        The JGroupsBootstrapCacheLoaderFactory recognises the following optional properties:
+    
+        * bootstrapAsynchronously=true|false - whether the bootstrap happens in the background
+          after the cache has started. If false, bootstrapping must complete before the cache is
+          made available. The default value is true.
+    
+        * maximumChunkSizeBytes=<integer> - Caches can potentially be very large, larger than the
+          memory limits of the VM. This property allows the bootstraper to fetched elements in
+          chunks. The default chunk size is 5000000 (5MB).
+    -->
+
+    <defaultCache
+        maxElementsInMemory="2000"
+        eternal="false"
+        timeToIdleSeconds="10000"
+        timeToLiveSeconds="10000"
+        overflowToDisk="false">
+        
+        <bootstrapCacheLoaderFactory
+            class="net.sf.ehcache.distribution.jgroups.JGroupsBootstrapCacheLoaderFactory" />
+    </defaultCache>
+
+    <cache
+        name="sampleCacheAsync"
+        maxElementsInMemory="2000"
+        eternal="false"
+        timeToIdleSeconds="10000"
+        timeToLiveSeconds="10000"
+        overflowToDisk="false">
+        
+        <cacheEventListenerFactory
+            class="net.sf.ehcache.distribution.jgroups.JGroupsCacheReplicatorFactory"
+            properties="replicateAsynchronously=true, replicatePuts=true,
+                        replicateUpdates=true, replicateUpdatesViaCopy=false,
+                        replicateRemovals=true, asynchronousReplicationIntervalMillis=1000" />
+        
+        <bootstrapCacheLoaderFactory
+            class="net.sf.ehcache.distribution.jgroups.JGroupsBootstrapCacheLoaderFactory" />
+    </cache>
+
+    <cache
+        name="sampleCacheAsync2"
+        maxElementsInMemory="2000"
+        eternal="false"
+        timeToIdleSeconds="10000"
+        timeToLiveSeconds="10000"
+        overflowToDisk="false">
+        
+        <cacheEventListenerFactory
+            class="net.sf.ehcache.distribution.jgroups.JGroupsCacheReplicatorFactory"
+            properties="replicateAsynchronously=false, replicatePuts=true,
+                        replicateUpdates=true, replicateUpdatesViaCopy=false,
+                        replicateRemovals=true" />
+        <bootstrapCacheLoaderFactory
+            class="net.sf.ehcache.distribution.jgroups.JGroupsBootstrapCacheLoaderFactory"
+            properties="bootstrapAsynchronously=true" />
+    </cache>
+
+    <cache
+        name="sampleCacheSyncBootstrap"
+        maxElementsInMemory="2000"
+        eternal="false"
+        timeToIdleSeconds="10000"
+        timeToLiveSeconds="10000"
+        overflowToDisk="false">
+        
+        <cacheEventListenerFactory
+            class="net.sf.ehcache.distribution.jgroups.JGroupsCacheReplicatorFactory"
+            properties="replicateAsynchronously=false, replicatePuts=true,
+                        replicateUpdates=true, replicateUpdatesViaCopy=false,
+                        replicateRemovals=true" />
+        <bootstrapCacheLoaderFactory
+            class="net.sf.ehcache.distribution.jgroups.JGroupsBootstrapCacheLoaderFactory"
+            properties="bootstrapAsynchronously=false" />
+    </cache>
+
+    <cache
+        name="sampleCacheNorep"
+        maxElementsInMemory="2000"
+        eternal="false"
+        timeToIdleSeconds="10000"
+        timeToLiveSeconds="10000"
+        overflowToDisk="false">
+        
+        <cacheEventListenerFactory
+            class="net.sf.ehcache.distribution.jgroups.JGroupsCacheReplicatorFactory"
+            properties="replicateAsynchronously=false, replicatePuts=false,
+                        replicateUpdates=false, replicateUpdatesViaCopy=false,
+                        replicateRemovals=false" />
+    </cache>
+</ehcache>

Property changes on: src/test/resources/distribution/jgroups/ehcache-distributed-jgroups-file-manager3.xml
___________________________________________________________________
Added: svn:executable
   + *
Added: svn:mime-type
   + text/xml
Added: svn:keywords
   + Date Revision Author HeadURL Id
Added: svn:eol-style
   + native

Index: src/test/resources/distribution/jgroups/ehcache-distributed-jgroups-file-manager4.xml
===================================================================
--- src/test/resources/distribution/jgroups/ehcache-distributed-jgroups-file-manager4.xml	(revision 0)
+++ src/test/resources/distribution/jgroups/ehcache-distributed-jgroups-file-manager4.xml	(revision 0)
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ehcache
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd"
+    updateCheck="false" name="manager4">
+
+     <cacheManagerPeerProviderFactory
+        class="net.sf.ehcache.distribution.jgroups.JGroupsCacheManagerPeerProviderFactory"
+        properties="channel_name=EH_CACHE::file=distribution/jgroups/udp.xml"
+        propertySeparator="::" />
+
+    <!--
+
+        Cluster Bootstrapping
+        +++++++++++++++++++++
+    
+        The JGroupsBootstrapCacheLoaderFactory bootstraps caches in JGroups clusters:
+    
+       <bootstrapCacheLoaderFactory
+           class="net.sf.ehcache.distribution.jgroups.JGroupsBootstrapCacheLoaderFactory"
+           properties="bootstrapAsynchronously=true" />
+    
+        The JGroupsBootstrapCacheLoaderFactory recognises the following optional properties:
+    
+        * bootstrapAsynchronously=true|false - whether the bootstrap happens in the background
+          after the cache has started. If false, bootstrapping must complete before the cache is
+          made available. The default value is true.
+    
+        * maximumChunkSizeBytes=<integer> - Caches can potentially be very large, larger than the
+          memory limits of the VM. This property allows the bootstraper to fetched elements in
+          chunks. The default chunk size is 5000000 (5MB).
+    -->
+
+    <defaultCache
+        maxElementsInMemory="2000"
+        eternal="false"
+        timeToIdleSeconds="10000"
+        timeToLiveSeconds="10000"
+        overflowToDisk="false">
+        
+        <bootstrapCacheLoaderFactory
+            class="net.sf.ehcache.distribution.jgroups.JGroupsBootstrapCacheLoaderFactory" />
+    </defaultCache>
+
+    <cache
+        name="sampleCacheAsync"
+        maxElementsInMemory="2000"
+        eternal="false"
+        timeToIdleSeconds="10000"
+        timeToLiveSeconds="10000"
+        overflowToDisk="false">
+        
+        <cacheEventListenerFactory
+            class="net.sf.ehcache.distribution.jgroups.JGroupsCacheReplicatorFactory"
+            properties="replicateAsynchronously=true, replicatePuts=true,
+                        replicateUpdates=true, replicateUpdatesViaCopy=false,
+                        replicateRemovals=true, asynchronousReplicationIntervalMillis=1000" />
+        
+        <bootstrapCacheLoaderFactory
+            class="net.sf.ehcache.distribution.jgroups.JGroupsBootstrapCacheLoaderFactory" />
+    </cache>
+
+    <cache
+        name="sampleCacheAsync2"
+        maxElementsInMemory="2000"
+        eternal="false"
+        timeToIdleSeconds="10000"
+        timeToLiveSeconds="10000"
+        overflowToDisk="false">
+        
+        <cacheEventListenerFactory
+            class="net.sf.ehcache.distribution.jgroups.JGroupsCacheReplicatorFactory"
+            properties="replicateAsynchronously=false, replicatePuts=true,
+                        replicateUpdates=true, replicateUpdatesViaCopy=false,
+                        replicateRemovals=true" />
+        <bootstrapCacheLoaderFactory
+            class="net.sf.ehcache.distribution.jgroups.JGroupsBootstrapCacheLoaderFactory"
+            properties="bootstrapAsynchronously=true" />
+    </cache>
+
+    <cache
+        name="sampleCacheSyncBootstrap"
+        maxElementsInMemory="2000"
+        eternal="false"
+        timeToIdleSeconds="10000"
+        timeToLiveSeconds="10000"
+        overflowToDisk="false">
+        
+        <cacheEventListenerFactory
+            class="net.sf.ehcache.distribution.jgroups.JGroupsCacheReplicatorFactory"
+            properties="replicateAsynchronously=false, replicatePuts=true,
+                        replicateUpdates=true, replicateUpdatesViaCopy=false,
+                        replicateRemovals=true" />
+        <bootstrapCacheLoaderFactory
+            class="net.sf.ehcache.distribution.jgroups.JGroupsBootstrapCacheLoaderFactory"
+            properties="bootstrapAsynchronously=false" />
+    </cache>
+
+    <cache
+        name="sampleCacheNorep"
+        maxElementsInMemory="2000"
+        eternal="false"
+        timeToIdleSeconds="10000"
+        timeToLiveSeconds="10000"
+        overflowToDisk="false">
+        
+        <cacheEventListenerFactory
+            class="net.sf.ehcache.distribution.jgroups.JGroupsCacheReplicatorFactory"
+            properties="replicateAsynchronously=false, replicatePuts=false,
+                        replicateUpdates=false, replicateUpdatesViaCopy=false,
+                        replicateRemovals=false" />
+    </cache>
+</ehcache>

Property changes on: src/test/resources/distribution/jgroups/ehcache-distributed-jgroups-file-manager4.xml
___________________________________________________________________
Added: svn:executable
   + *
Added: svn:mime-type
   + text/xml
Added: svn:keywords
   + Date Revision Author HeadURL Id
Added: svn:eol-style
   + native

