Java Ehcache-使用RMI的复制缓存
我试着使用ehcache,它成功了。我只是想用ehcache-RMI实现分布式缓存。我遵循url中提供的步骤: 但我找不到分布式缓存工作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
<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"/>