我正在尝试在单台机器上运行两个节点的ehcahe集群。 我在机器上创建了两个tomcat实例,并使用标准的手动对等机制来复制缓存。 我的ehcahe .xml在一个应用程序中
<cacheManagerPeerProviderFactory class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory"
properties =&#34; peerDiscovery = manual,rmiUrls = // 172.19.1.99:50002/messageCache|//172.19.1.99:50002/messagesCache" /&GT;
<cacheManagerPeerListenerFactory class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory"
properties =&#34; hostName = localhost,port = 40001,socketTimeoutMillis = 12000&#34; /&GT;
<defaultCache eternal="true" maxElementsInMemory="100" overflowToDisk="false" />
<cache name="messagesCache" maxElementsInMemory="10" eternal="true" overflowToDisk="false">
<cacheEventListenerFactory
class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"
properties="replicateAsynchronously=true, replicatePuts=true, replicateUpdates=true,
replicateUpdatesViaCopy=false, replicateRemovals=true " />
<bootstrapCacheLoaderFactory class="net.sf.ehcache.distribution.RMIBootstrapCacheLoaderFactory" />
</cache>
第二个服务器端口上的是互换的,但是当我运行这个应用程序时。我总是得到这个例外 WARN [net.sf.ehcache.distribution.RMIAsynchronousCacheReplicator]:无法向远程对等方发送消息。消息是:服务器线程中发生了RemoteException;嵌套异常是: java.rmi.UnmarshalException:错误解组参数;嵌套异常是: java.lang.ClassNotFoundException:com.ehcache.nagarroRMI.model.Message(没有安全管理器:禁用RMI类加载器)