我将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缓存无效。
我该怎么做?
答案 0 :(得分:3)
您可以将Hotrod服务器嵌入WildFly部署中。 您需要从JNDI获取WildFly缓存管理器,然后使用它启动HotRodServer。我有一个小项目[1],它演示了如何设置这样的东西。
[1] https://github.com/tristantarrant/infinispan-playground-embedded-hotrod