Ehcache RMI复制不工作。需要知道如何可视化复制?

时间:2013-08-01 21:41:24

标签: caching replication ehcache

我已使用RMI设置 ehcache复制。但是,我没有看到任何复制发生我也没有收到任何错误。 你能看一下,让我知道我哪里出错吗?我尝试了自动和手动的发现模式,但无济于事。

我已经启用了net.sf层次结构的TRACE日志记录,但是我没有看到任何活动* 。您能告诉我如何通过日志可视化复制吗?什么类别?添加等。 *

我的测试场景 我在host1上访问jsp,然后在host2上访问。然后我返回到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"/>

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分:0)

没有问题。我认为我的测试有点不合适。 我从两个节点(通过2个差异浏览器会话)访问了相同的jsp,并依赖于我的日志来查看有关复制的提示。我只是改变了我的方法来查看jsp上的内容/数据,我看到了另一个在第一个节点上的命中更新后,节点会获取相同的数据。这对我的测试来说已经足够了。 但是,我仍然很想知道如何查看有关复制事件的任何日志? 我也打开了ehcache-debugger的一个实例,但我没有看到任何事情发生。 如果这里的任何人都可以告诉我如何查看与复制事件有关的日志,那将是很棒的。对于记录,我已经在TRACE中为net.sf包设置了日志级别。