【发布时间】:2014-08-03 13:36:41
【问题描述】:
我已经在 Wildfly 8 上使用 Eclipselink 设置了持久缓存。它可以工作,但我也想做缓存协调。我的persistance.xml 中有以下Eclipselink 缓存协调设置:
<property name="eclipselink.cache.coordination.protocol" value="jms" />
<property name="eclipselink.cache.coordination.jms.topic" value="jms/MemberTopic" />
<property name="eclipselink.cache.coordination.jms.factory" value="jms/MemberConnectionFactory" />
但是,当我的实体被合并时,Eclipselink 不会发送任何消息。我已将日志记录设置为“ALL”,但控制台中没有显示任何内容。
我尝试在实体的@Cache 注释中添加coordinateType=CacheCoordinationType.SEND_NEW_OBJECTS_WITH_CHANGES,但它并没有改变任何东西。还尝试按照 WebSphere (http://www.eclipse.org/eclipselink/documentation/2.4/concepts/cache011.htm#CDECEHFH) 的建议使用 MDB。
JMS 主题和连接工厂存在,Wildfly 启动/应用程序部署未显示错误。对于服务器集群,我在域模式下运行 Wildfly。
【问题讨论】:
-
我想指出,一些 JMS 消息(类型 ByteMessage)是在合并后发送的,但是在以域模式运行的本地服务器节点之间没有协调缓存,并且 EclipseLink 没有显示日志。跨度>
-
该消息,事实证明,是 Eclipselink 尝试使用缓存协调,但由于我的节点单独使用该主题,它被忽略(Eclipselink 不处理同一服务发送的消息,因为它会毫无意义)。
标签: caching jboss eclipselink wildfly