我想设置为记录在这里的Ehcache复制:http://ehcache.sourceforge.net/EhcacheUserGuide.html#id.s22.2
这是在Windows机器上,但在生产中在Solaris将最终运行.
说明如下设置提供者:
像这样的倾听者:
我的问题是:
多播IP地址和端口是否是任意的(我知道地址必须在特定范围内,但它们必须是特定的数字)?
它们是否需要由我们的系统管理员以某种方式设置(我在办公室网络上)?
我想在本地测试它,所以使用上面的配置运行两个单独的tomcat实例.我需要在每个方面做些什么改变?我知道两个听众都听不到同一个端口 - 但提供商怎么样?
另外,侦听器端口是否也是任意的?
我已经尝试过如上设置,但在我的测试中,缓存似乎没有被复制 - 在一个tomcat的缓存中添加的值不存在于另一个缓存中.
我可以做些什么来调试这种情况(除了数据包嗅探)?
在此先感谢任何帮助,一直在我的头发上撕裂!
我想在本地测试它,所以使用上面的配置运行两个单独的tomcat实例.
正如我刚才提交了关于cherouvims回答相关问题,我只是想在这里也强调指出它们实际上是提供了一个例子做类似的事情,至少(每个主机多个节点,虽然只有一个实例):见完整的例子在在RMI分布式缓存文件.
更改每个TCP端口确实很重要,cacheManagerPeerListenerFactory
但多播设置可以(我认为它们必须保持不变):您可以在上面提到的完整示例的ehcache.xml中看到这个:端口号增加逐个从40001到每个节点40006,而多播设置保持相同.
如果你听从的是,您的问题可能只是在Windows上运行相关的Tomcat -见内相关段落的常见问题在RMI分布式缓存:
Tomcat和/或JDK中存在一个错误,如果安装路径中包含空格,则任何RMI侦听器都无法在Tomcat上启动.
[...]
由于Windows上的默认设置是在"Program Files"中安装Tomcat,因此默认情况下会出现此问题.
我在EHCache对等复制期间遇到的一个错误.这可能很有用,因此有人尝试在单个本地盒上进行对等复制.
我想使用peerDiscovery = automatic(最终目标环境是Linux)在单个Windows Vista机器上运行3个对等复制的EhCache实例.
对等复制不起作用.奇怪的是,所有EhCache实例都在启动时没有任何错误或投诉.
我花了一些时间来弄清楚我的错误; 我不得不在日志中找到任何东西:我在每个EhCache实例的对等侦听器配置中使用相同的listenerPort(40001).使用不同的listenerPorts(40001,40002 ......)就可以了.
请注意,这是需要不同端口号的"对等侦听器"配置.对于每个ehcache实例,多播"对等发现"仍然使用相同的多播地址和端口号.