繁体   English   中英

Tomcat集群上的Eclipselink缓存协调

[英]Eclipselink cache coordination on Tomcat cluster


我已经建立了一个简单的Tomcat集群,该集群可以使用粘性会话(mod_jk作为负载均衡器)正常运行。 2个节点在同一盒上运行,但在不同的端口上运行(这是我的测试环境)。
不幸的是,如果关闭L2缓存,应用程序的性能将急剧下降。
为了启用它,我一直在尝试使用此处描述的rmi方法。

  • 我在其默认端口上运行了rmir​​egistry
  • 我在每个节点的应用程序的web.xml中添加了<distributable />
  • 我在persistence.xml中添加了必要的eclipselink属性:

    <property name =“ eclipselink.cache.coordination.protocol” value =“ rmi” />
    <属性名称=“ eclipselink.cache.coordination.rmi.url” value =“ t3://127.0.0.1:1099 /” />

    运行此配置时,我看到以下内容:

  • 如果删除node1上的实体,则可以在其catalina.out中看到一条错误消息,内容为:

    node2上的实体不会从共享缓存中删除。

  • 如果我在node1上添加一个实体,则不会发生任何事情-catalina.out不会出现任何错误,也不会将该实体添加到node2的缓存中。

    任何提示深表感谢!

我实际上没有解决我的问题,但是我找到了解决方法。 无论何时过时的缓存可能导致问题,我都调用EntityManagerFactory类的方法getCache()。evict(<Class name>)。 我意识到这不是一个适当的解决方案,但是我没有时间进行进一步的研究,因此这很适合我的需求。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM