Java Ehcache-使用RMI的复制缓存

Java Ehcache-使用RMI的复制缓存,java,rmi,ehcache,distributed-caching,Java,Rmi,Ehcache,Distributed Caching,我试着使用ehcache,它成功了。我只是想用ehcache-RMI实现分布式缓存。我遵循url中提供的步骤: 但我找不到分布式缓存工作 <cacheManagerPeerProviderFactory class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory" properties="peerDiscovery=manual, rmiUrls=//<remotemachineip>:<i

我试着使用ehcache,它成功了。我只是想用ehcache-RMI实现分布式缓存。我遵循url中提供的步骤:

但我找不到分布式缓存工作

<cacheManagerPeerProviderFactory
class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory"
properties="peerDiscovery=manual,
rmiUrls=//<remotemachineip>:<i want to know what port id should be given here>/deviceCache1"/>

<cacheManagerPeerListenerFactory
class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory"
properties="hostName=<localmachineip>,port=<i want to know what port id should be given here>,
socketTimeoutMillis=120000"/>

我给出了一些端口号,我在两台机器中拥有独立的java代码。 首先,我在我朋友的机器上运行主程序,将数据放入“deviceCache1”,然后我尝试访问主程序中的缓存。但我没有发现两台机器之间有任何联系

我可能听起来很傻,但我需要知道一些关于缓存的事情。请有人澄清我的疑问并帮助我。 因此,我的问题是: 1.两台机器的ehcache.xml中都需要提供哪些端口ID? 2.我是否需要启用某些windows服务才能使用rmi端口? 3.我需要为两台机器之间的连接添加任何其他代码吗

请尽快帮助我。
谢谢

您还需要将cacheEventListenerFactory添加到缓存中(需要复制)

memorystoreexecutionpolicy=“LFU” diskPersistent=“true”
timeToLiveSeconds=“86400” maxElementsOnDisk=“1000”>


您可以提供任何端口(由于注释大小限制,系统未使用该端口)

,这将回答您的问题

服务器1上的配置将如下所示


server2上的配置将如下所示


如果您仍然面临此问题,请粘贴您的ehcache.xml。如果回答了您的问题,请接受答案。

我的条目与一个关联。但是,无论我在提供程序和侦听器中提供什么端口,我都看不到两个系统之间发生任何通信。我正在尝试从第二台计算机访问缓存,而从第二台计算机访问正在尝试从我的计算机访问缓存。但两者都没有响应…因此我想知道,是否需要提供任何特定端口/是否需要启用任何RMI相关服务/是否需要编写任何代码来建立连接或注册端口。Server1-在server2上
<cacheManagerPeerListenerFactory class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory"
    properties="hostName=localhost, port=40001,socketTimeoutMillis=2000"/>
<cacheManagerPeerListenerFactory class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory"
    properties="hostName=localhost, port=40002,socketTimeoutMillis=2000"/>