Caching 远程模式下JBoss数据网格的JTA事务支持

Caching 远程模式下JBoss数据网格的JTA事务支持,caching,jboss,jta,infinispan,Caching,Jboss,Jta,Infinispan,我正在远程客户端服务器模式下设置jboss数据网格。缓存中的实体几乎不会更新,但会频繁检索,因为它们都是我的应用程序的主数据。在应用程序启动时,我正在从数据库加载带有主数据的缓存。当从应用程序更新实体时,我希望确保在一个事务中在数据库和网格中更新这些实体。在远程模式下可能吗? 我在文档中读到,JTA事务仅在JBoss数据网格的库模式下受支持 如果无法在单个事务中执行操作,那么确保数据网格缓存实体和数据库之间一致性的最佳方法是什么?如果使用Hibernate/JPA,则可以使用Infinispan

我正在远程客户端服务器模式下设置jboss数据网格。缓存中的实体几乎不会更新,但会频繁检索,因为它们都是我的应用程序的主数据。在应用程序启动时,我正在从数据库加载带有主数据的缓存。当从应用程序更新实体时,我希望确保在一个事务中在数据库和网格中更新这些实体。在远程模式下可能吗? 我在文档中读到,JTA事务仅在JBoss数据网格的库模式下受支持


如果无法在单个事务中执行操作,那么确保数据网格缓存实体和数据库之间一致性的最佳方法是什么?

如果使用Hibernate/JPA,则可以使用Infinispan二级缓存实现,但仅适用于嵌入式模式(应用程序和缓存位于同一JVM中).我无法在嵌入式模式下使用它,因为缓存在多个应用程序之间共享。这些应用程序安装在不同的JBoss EAP集群上。为什么缓存必须共享?每个应用程序是否都有自己的缓存,并查看其运行情况?我不明白你想解决的问题是什么…:\@galder缓存从两个应用程序之间共享的数据库表加载,其中一个应用程序可以修改数据。如果我保留单独的缓存,那么由一个应用程序完成的更新将无法在其他应用程序缓存中使用。好的,我理解您的情况。我不知道您的运行时是什么,但如果是Wildfly或JBoss应用程序服务器,每个Hibernate缓存都有部署存档名称作为名称的一部分,因此即使有远程版本,每个应用程序都有自己的缓存。在一天结束时,每个应用程序可能会有稍微不同的类版本。。。就个人而言,我会继续使用嵌入式缓存,但会创建一个专门处理数据库的服务,并让这两个应用程序与之通信。这样,您就不必开始计算两个应用程序之间的缓存一致性问题。