使用Wildfly,我可以远程监听缓存事件吗?

时间:2017-03-02 15:40:01

标签: hibernate wildfly infinispan

我将Wildfly配置为使用缓存来进行休眠,如下所示:

<subsystem xmlns="urn:jboss:domain:infinispan:3.0">
<cache-container name="hibernate" default-cache="local-query" module="org.hibernate.infinispan">
     <local-cache name="local-query">
        <transaction mode="NON_XA"/>
        <eviction strategy="LRU" size="10000"/>
        <expiration max-idle="28800000"/>
    </local-cache>
    <local-cache name="entity">
        <transaction mode="NON_XA"/>
        <eviction strategy="LRU" size="10000"/>
        <expiration max-idle="28800000"/>
    </local-cache>
    <local-cache name="timestamps">
        <transaction mode="NON_XA"/>
        <eviction strategy="NONE"/>
    </local-cache>
</cache-container>
</subsystem>

我想公开一个hotrod端点并以与我如何使用Infinispan Server执行此操作非常相似的方式监听缓存事件。我这样做是因为我手动和有选择地复制底层数据库,我想在另一端手动使Hibernate缓存无效。

我该怎么做?

1 个答案:

答案 0 :(得分:3)

您可以将Hotrod服务器嵌入WildFly部署中。 您需要从JNDI获取WildFly缓存管理器,然后使用它启动HotRodServer。我有一个小项目[1],它演示了如何设置这样的东西。

[1] https://github.com/tristantarrant/infinispan-playground-embedded-hotrod