【问题标题】:Ehcache not replicating - (solution)Ehcache 不复制 - (解决方案)
【发布时间】:2013-06-26 15:33:46
【问题描述】:

我想我会把这个告诉任何有类似问题的人。

信息:正在运行的 linux (ubuntu)、x64、最新的 java 版本 (1.7.25)、最新的 tomcat (7.40)。

我在本地设置了两个 apache tomcat,并在两个 tomcat 上设置了相同的 webapp,以测试一些 ehcache 功能并复制了缓存,一切都很好。

一旦我用第二个 tomcat 实例设置了一个专用服务器,EhCache 就没有在我的 PC 和服务器之间复制(仍处于测试阶段)。

所有配置都基本相同,当然IP地址不同。 由于我没有使用来自 DNS 的服务器和计算机的主机名,而是将主机名添加到 pc 和服务器上的 /etc/hosts 文件中 - 认为这样就足够了。

在憎恨了几个小时之后 - 咬牙切齿 - 我决定删除所有添加到 /etc/hosts 的条目,而是使用我们公司 DNS 中无聊的主机名 (pc-103-15-87. xxxxx.com 和 pc-104-15-87.xxxxx.com ),然后一切正常。

在我得到解决方案之前运行“wireshark”,它向我显示两个 ehcache 实例都在聊天,但 ip 地址“127.0.0.1”(可能用作某种回调地址)在两个 ehcache 实例之间的通信。

这导致我删除了我在 /etc/hosts 中添加的所有内容,并使用了 DNS 可解析名称。现在,“wireshark”中的所有内容都向我显示了所有正确的 IP 地址,而且一切都是黄金。

希望这对遇到类似问题的人有所帮助。

XML:

对等方的信息:

<cacheManagerPeerProviderFactory
    class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory"
    properties="peerDiscovery=manual,
    rmiUrls=//pc-103-15-87.xxxxx.com:40002/persons|//pc-103-15-87.xxxxx.com:40002/wordCache"/>

以及此服务器上的侦听器:

<cacheManagerPeerListenerFactory 
    class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory" 
    properties="hostname=pc-104-15-87.xxxxx.com, port=40002, socketTimeoutMillis=3000"/>

【问题讨论】:

    标签: ehcache


    【解决方案1】:

    解决方案是使用组织 DNS 中的主机名,而不是依赖我自己在 /etc/hosts 中的条目

    【讨论】:

      猜你喜欢
      • 2010-09-10
      • 1970-01-01
      • 1970-01-01
      • 2010-09-05
      • 1970-01-01
      • 2012-11-30
      • 1970-01-01
      • 2023-04-07
      • 1970-01-01
      相关资源
      最近更新 更多