2013-08-01 2 views
1

У меня есть установка репликации ehcache с использованием RMI. Однако Я не вижу никакой репликации, происходящей и не получаю никаких ошибок. Не могли бы вы взглянуть и сообщить мне, где я ошибаюсь? Я пробовал как автоматический, так и ручной режим обнаружения, но безрезультатно.Ehcache RMI Replication Not Working.Need знать, как визуализировать репликацию?

меня включено ведение журнала трассировки для net.sf иерархии, но я не вижу никакой активности * .Can вы, пожалуйста, дайте мне знать, как визуализировать репликацию через бревно? К какой категории добавить и т.д. *

Моего тестовый сценарий я получить доступ к JSP на host1, а затем на host2.When я потом вернуться к host1 я ожидаю увидеть некоторые журналы репликации или дублированного значения возвращающегося, которые я не вижу. Любая помощь приветствуется. Я уже много лет борется с этим.

Моя конфигурация выглядит следующим образом

на узле 1

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


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

на хосте 2

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

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

Мой EHCache конфиг следующим

<cache name="reportsCache" 
    maxElementsInMemory="1000" 
    maxElementsOnDisk="100" 
    eternal="false" 
    overflowToDisk="true" 
    timeToIdleSeconds="15" 
    timeToLiveSeconds="15" 
    statistics="true"> 

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

+0

Вы когда-нибудь понять, как включить ведение журнала? –

ответ

0

Там не было никаких проблем, как such.I думаю, что мое испытание было немного от марки. У меня был тот же самый jsp, доступ к которому был получен из двух узлов (через 2 сеанса браузера diff), и я полагался на свои журналы, чтобы увидеть подсказки относительно репликации. Я просто изменил свой подход, чтобы увидеть содержимое/данные на jsp, и я вижу, что другой узел извлекает одни и те же данные после обновления на первом узле. Этого достаточно для моего теста. Однако мне все же интересно узнать, как просмотреть журналы о событиях репликации? Я включил экземпляр ehcache-debugger, но я не заметил ничего. Если кто-нибудь здесь может сказать мне, как увидеть журналы, относящиеся к событиям репликации, которые были бы большими. Для записи я установил уровень журнала в TRACE для пакета net.sf.

+1

Вы можете использовать jconsole из своего каталога java bin, чтобы увидеть ваши объекты ehcache – Sam

1

Используется используемый регистратор: net.sf.ehcache.distribution.RMICachePeer, где вы должны включить уровень DEBUG.

Как настроить регистратор действительно зависит от структуры ведения журнала. Для log4j вы бы использовать что-то вроде следующего в файле log4j.properties:

log4j.logger.net.sf.ehcache.distribution.RMICachePeer=DEBUG 

Для log4j2 поместите в вашем log4j2.xml:

<loggers> 
    ... 
    <logger name="net.sf.ehcache.distribution.RMICachePeer" level="debug" /> 
</logger> 
Смежные вопросы