同様の問題を抱えている人にこれを伝えたいと思いました。
情報: Linux (ubuntu)、x64、最新の Java バージョン (1.7.25)、最新の tomcat (7.40) を実行しています。
2 つの apache tomcat をローカルにセットアップし、両方の tomcat に同じ webapp をセットアップして、いくつかの ehcache 機能と複製されたキャッシュをテストしましたが、すべてが素晴らしかったです。
2 番目の tomcat インスタンスを使用して専用サーバーをセットアップすると、PC とサーバーの間で EhCache が複製されませんでした (まだテスト段階です)。
もちろん、すべての構成は基本的に同じでしたが、もちろん IP アドレスが異なります。DNS からサーバーとコンピューターのホスト名を使用していなかったので、代わりに、PC とサーバーの両方の /etc/hosts-file にホスト名を追加しました - これで十分だと考えました。
嫌悪感を抱いて数時間過ごした後、歯を磨いて、/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"/>