我在两台服务器上使用带有兵马俑的分布式ehcache。在我的缓存管理器中,我有多个缓存。但是现在我要求每当一个元素被添加到1个服务器上的1个特定缓存中时,我希望得到第二个服务器上放置的信息。我尝试使用CacheEventListener但在本地工作。你能帮忙搞清楚我能做些什么。我可以将复制机制与兵马俑一起使用来解决这个问题,因为通过在1个缓存上使用复制,我将在其他服务器上获取该元素,对于所有其他缓存,我可以使用兵马俑。请帮助它非常紧急。 提前谢谢
答案 0 :(得分:0)
CacheEventListener CAN仅在本地工作,但您可以将其配置为通过Terracotta使用listenFor属性在集群上工作。它可以采用以下值:
查看http://ehcache.org/documentation/apis/cache-event-listeners
上的文档希望这有帮助!
更新: 事实证明,您需要另一个CacheEventListener来使事件在集群上分布。您的配置将类似于:
<cache name="myCache"
...
<cacheEventListenerFactory class="net.sf.ehcache.event.TerracottaCacheEventReplicationFactory" properties="" listenFor="all"/>
<cacheEventListenerFactory class="foo.bar.MyListenerFactory" properties="" listenFor="all"/>
<terracotta/>
</cache>