2012-02-09 4 views
1

Linux上の2つのシステム上にWebアプリケーションであるSampleWebAppという2つのサーバーインスタンスがインストールされています。ローカルデータをキャッシュするehcacheとデフォルトのRMIレプリケーションを設定して、Server1で行った変更をServer2にレプリケートしました。 Windows環境では正常に動作しますが、Linux環境では正常に動作しません。エラーが表示されなくても、それは黙って失敗します。 ehcache.xmlファイルで行わEhcache RMIのレプリケーションは、TomcatのLinuxでは動作しませんが、Windows上で正常に動作しますか?

構成は、ファイアウォールが、それが失敗した理由ではないので、レプリケーションをブロックすることができるファイアウォールインストールはありません

<cacheManagerPeerProviderFactory    class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory" 
    properties="peerDiscovery=manual, 
    rmiUrls=//<ip>:50000/sampleReplicatedCache" 
    propertySeparator="," /> 
    <cacheManagerPeerListenerFactory    class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory" properties="port=40000"/> 
    <cache name="cmServerReplicatedCache" maxElementsInMemory="100" eternal="true" 
    memoryStoreEvictionPolicy="LRU" > 
    <cacheEventListenerFactory  class="net.sf.ehcache.distribution.RMICacheReplicatorFactory" 
    properties="replicateAsynchronously=true, replicatePuts=true, 
    replicatePutsViaCopy=true, replicateUpdates=true, replicateUpdatesViaCopy=true,   replicateRemovals=false, asynchronousReplicationIntervalMillis=5000"/> 
    <bootstrapCacheLoaderFactory  class="net.sf.ehcache.distribution.RMIBootstrapCacheLoaderFactory"/> 
    </cache> 

below-です。 ポートが開いている場合もチェックされます。割り当てられたポート50000が開き、Ehcacheはこのポートをリッスンします。問題は、キャッシュに更新がある場合、この変更は複製されないということです。

これに関するご意見やご了解をいただければ幸いです。

ありがとう、 ワンダー!

+0

この問題は解決しました。答えを投稿するのを忘れました。問題はehcache.xmlでトークンを使用していましたが、Springアプリケーションコンテキストの下にファイルがないため、ehcache.xmlファイルではスプリング式リゾルバ($ {}を使用したトークン置換)はサポートされていませんでした。私はトークンを実際の値に置き換え、それがうまくいった。 – Ekanath

答えて

0

この問題は解決されました。答えを投稿するのを忘れました。問題はehcache.xmlでトークンを使用していましたが、Springアプリケーションコンテキストの下にファイルがないため、ehcache.xmlファイルではスプリング式リゾルバ($ {}を使用したトークン置換)はサポートされていませんでした。私はトークンを実際の値に置き換えた後、それは働いた

関連する問題