Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate 共享infinispan 2LC缓存_Hibernate_Infinispan_Jboss Eap 6_Hibernate Cache_Hot Rod - Fatal编程技术网

Hibernate 共享infinispan 2LC缓存

Hibernate 共享infinispan 2LC缓存,hibernate,infinispan,jboss-eap-6,hibernate-cache,hot-rod,Hibernate,Infinispan,Jboss Eap 6,Hibernate Cache,Hot Rod,我有两个应用程序使用相同的数据库实体。这两个应用程序都部署在jboss eap 6.2独立的集群上。 DB表仅从一个应用程序更新,但从两个应用程序读取。这两个应用程序都使用本机HibernateAPI从数据库读取/写入数据 在嵌入式模式下启用infinispan as 2LC后,如何确保在一个应用程序中更新的缓存实体从第二个应用程序缓存中失效?是否有JMX/JMS接口发出缓存失效信号 若我选择远程缓存模式并启动infinispan作为热棒服务器,那个么缓存服务器可以与这两个应用程序共享。但是,我

我有两个应用程序使用相同的数据库实体。这两个应用程序都部署在jboss eap 6.2独立的集群上。 DB表仅从一个应用程序更新,但从两个应用程序读取。这两个应用程序都使用本机HibernateAPI从数据库读取/写入数据

在嵌入式模式下启用infinispan as 2LC后,如何确保在一个应用程序中更新的缓存实体从第二个应用程序缓存中失效?是否有JMX/JMS接口发出缓存失效信号


若我选择远程缓存模式并启动infinispan作为热棒服务器,那个么缓存服务器可以与这两个应用程序共享。但是,我是否需要更新代码以使用hot rod客户端API从缓存中查询实体?如果从应用程序更新实体,它也会自动更新/使缓存无效。

这不受支持。Hibernate没有远程二级缓存Infinispan实现。嵌入式实现使用仅嵌入式功能的深度集成,因此不可互换

如果使用嵌入式,每个应用程序都会获得自己的缓存,并且这些缓存不能共享,因为每个应用程序都是一个单独的类加载器。因此,类加载器X中的实体A不能与类加载器Y中的实体A一起读取


如果您真的想要共享缓存,没有任何东西可以阻止您自己向远程Infinispan服务器添加数据。

如果我选择远程Infinispan服务器,当实体更新时,缓存会自动失效吗?当再次读取实体时,缓存将从数据库中自动填充,类似于嵌入式模式?如果您选择远程infinispan服务器,您将处理自己的缓存,因为infinispan remote没有hibernate缓存提供程序。缓存可以配置为失效模式,其工作原理如下:当实体更新时,它会从其他节点失效。当您读取实体时,它取决于调用Infinispan服务器来缓存内容的代码。