我在网上找到的例子!
服务器一的代码
package com.fufu.ehcache;import java.net.URL;import net.sf.ehcache.Cache;
import net.sf.ehcache.CacheManager;
import net.sf.ehcache.Element;public class TestEhCache {
public static void main(String[] args)throws Exception {
URL url = UsingCacheCluster.class.getClassLoader().getResource(    
        "ehcache_cluster.xml");  
   CacheManager manager = new CacheManager(url);    
//取得Cache    
   Cache cache = manager.getCache("UserCache"); 
    int i=0;
    while(true){
 String key="key"+i;
 Object value="wanglin"+i;
 Element element = new Element(key,value);
 cache.put(element);
 i++;
 Thread.sleep(2000);
}
  
}    }
配置文件
ehcache_cluster.xml<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
    xsi:noNamespaceSchemaLocation="ehcache.xsd">   
    <cacheManagerPeerProviderFactory   
        class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory"   
        properties="peerDiscovery=manual,     
        rmiUrls=//134.128.58.91:40000/UserCache" />   
   
    <cacheManagerPeerListenerFactory   
        class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory"   
        properties="hostName=134.128.58.79,port=40000,socketTimeoutMillis=120000" />   
   
    <defaultCache maxElementsInMemory="10000" eternal="false"   
        timeToIdleSeconds="120" timeToLiveSeconds="120" overflowToDisk="true"   
        diskSpoolBufferSizeMB="30" maxElementsOnDisk="10000000"   
        diskPersistent="false" diskExpiryThreadIntervalSeconds="120"   
        memoryStoreEvictionPolicy="LRU">   
        <cacheEventListenerFactory   
            class="net.sf.ehcache.distribution.RMICacheReplicatorFactory" />   
    </defaultCache>   
   
    <cache name="UserCache" maxElementsInMemory="1000" eternal="false"   
        timeToIdleSeconds="100000" timeToLiveSeconds="100000"   
        overflowToDisk="false">   
        <cacheEventListenerFactory   
            class="net.sf.ehcache.distribution.RMICacheReplicatorFactory" />   
    </cache>
    <cache name="UserCache2" maxElementsInMemory="1000" eternal="false"   
        timeToIdleSeconds="100000" timeToLiveSeconds="100000"   
        overflowToDisk="false">   
        <cacheEventListenerFactory   
            class="net.sf.ehcache.distribution.RMICacheReplicatorFactory" />   
    </cache>      
</ehcache>   
服务器二的代码:
package com.fufu.ehcache;import java.net.URL;
import java.util.List;import net.sf.ehcache.Cache;
import net.sf.ehcache.CacheManager;
import net.sf.ehcache.Element;public class UsingCacheCluster { public static void main(String[] args) throws InterruptedException {
URL url = UsingCacheCluster.class.getClassLoader().getResource(    
        "ehcache_cluster.xml");    
CacheManager manager = new CacheManager(url);    
//取得Cache    
Cache cache = manager.getCache("UserCache");    while(true){
List keyList =cache.getKeys(); 
for(int i=0;i<keyList.size();i++){
Element e = cache.get(keyList.get(i));
System.out.println(e.getValue()); 
}
System.out.println("***************");
Thread.sleep(2000);
}
}    
}服务器二的配置<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
    xsi:noNamespaceSchemaLocation="ehcache.xsd">   
    <cacheManagerPeerProviderFactory   
        class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory"   
        properties="peerDiscovery=manual,     
        rmiUrls=//134.128.58.79:40000/UserCache,timeToLive=255" propertySeparator=","/>   
   
    <cacheManagerPeerListenerFactory   
        class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory"   
        properties="hostName=134.128.58.91,port=40000,socketTimeoutMillis=120000" />   
   
    <defaultCache maxElementsInMemory="10000" eternal="false"   
        timeToIdleSeconds="120" timeToLiveSeconds="120" overflowToDisk="true"   
        diskSpoolBufferSizeMB="30" maxElementsOnDisk="10000000"   
        diskPersistent="false" diskExpiryThreadIntervalSeconds="120"   
        memoryStoreEvictionPolicy="LRU">   
        <cacheEventListenerFactory   
            class="net.sf.ehcache.distribution.RMICacheReplicatorFactory" />   
    </defaultCache>   
   
    <cache name="UserCache" maxElementsInMemory="1000" eternal="false"   
        timeToIdleSeconds="100000" timeToLiveSeconds="100000"   
        overflowToDisk="false">   
        <cacheEventListenerFactory   
            class="net.sf.ehcache.distribution.RMICacheReplicatorFactory" />   
    </cache>   
</ehcache>   这样写的话测试后是可以同步过来的!但是当同步java POjO时问题来了
另一个同步代码
package com.fufu.ehcache;import java.net.URL;import net.sf.ehcache.Cache;
import net.sf.ehcache.CacheManager;
import net.sf.ehcache.Element;public class UsingCacheCluster { public static void main(String[] args)throws Exception {
 URL url = UsingCacheCluster.class.getClassLoader().getResource(    
         "ehcache_cluster.xml");  
 System.out.println(url);
 CacheManager manager = new CacheManager(url);    
 //取得Cache    
 Cache cache = manager.getCache("UserCache"); 
 int i=0;
 while(true){
 String key="key"+i;
 People p = new People(i);
 Element element = new Element(key,p);
 cache.put(element);
 i++;
 Thread.sleep(2000);
 }
   
}    
}
同步对象时就出现错误
2009-9-24 15:54:43 net.sf.ehcache.distribution.RMIAsynchronousCacheReplicator flushReplicationQueue
警告: Unable to send message to remote peer.  Message was: RemoteException occurred in server thread; nested exception is: 
java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: 
java.lang.ClassNotFoundException: com.fufu.ehcache.People (no security manager: RMI class loader disabled)