2014-11-04 5 views
1

У меня есть кластер Jboss Wildfly 8.0.0 с мастером и одним подчиненным. Ehcache настроен для репликации RMI с ручной настройкой.Репликация Ehcache RMI работает только в одном направлении

Проблема репликация происходит только в одном направлении. Репликация от ведущего к подчиненному Jboss работает нормально. Нет репликации от подчиненного Jboss для управления JBoss.

Я проверяю детали кеша с помощью Jconsole, и я вижу одностороннюю репликацию. Я вижу, что кеш создается как в главном, так и в ведомом, проблема - односторонняя репликация.

Мой мастер Jboss находится на сервере Windows VM 2012, подчиненный JBoss находится на рабочем столе Windows 8.0 Я не вижу никаких ошибок в консоли JBoss.

На мастер ehcache.xml:

<cacheManagerPeerProviderFactory 
class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory" 
properties="peerDiscovery=manual, 
rmiUrls=//myslave:40002/userAddress"/> 


<cacheManagerPeerListenerFactory 
class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory" 
properties="port=40001, 
socketTimeoutMillis=30000"/> 



<cache name="userAddress" eternal="true" overflowToDisk="true" maxEntriesLocalHeap="1" memoryStoreEvictionPolicy="LRU" > 

     <cacheEventListenerFactory 
     class="net.sf.ehcache.distribution.RMICacheReplicatorFactory" 
     properties="replicateAsynchronously=true, replicatePuts=true, replicateUpdates=true, 
     replicateUpdatesViaCopy=false, replicateRemovals=true "/> 
</cache> 

На работорговли ehcache.xml:

<cacheManagerPeerProviderFactory 
class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory" 
properties="peerDiscovery=manual, 
rmiUrls=//mymaster:40001/userAddress"/> 

<cacheManagerPeerListenerFactory 
class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory" 
properties="port=40002, 
socketTimeoutMillis=30000"/> 



<cache name="userAddress" eternal="true" overflowToDisk="true" maxEntriesLocalHeap="1" memoryStoreEvictionPolicy="LRU" > 

     <cacheEventListenerFactory 
     class="net.sf.ehcache.distribution.RMICacheReplicatorFactory" 
     properties="replicateAsynchronously=true, replicatePuts=true, replicateUpdates=true, 
     replicateUpdatesViaCopy=false, replicateRemovals=true "/> 

</cache> 

ответ

1

Брандмауэр на главном сервере JBoss блокировало репликацию к мастеру. Проблема разрешена. В подобных случаях стоит прочитать this article, он дает больше информации о 'remoteObjectPort'.