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分布式缓存-多个应用程序可以共享同一个缓存吗?_Hibernate - Fatal编程技术网

Hibernate分布式缓存-多个应用程序可以共享同一个缓存吗?

Hibernate分布式缓存-多个应用程序可以共享同一个缓存吗?,hibernate,Hibernate,我希望使用分布式缓存设置Hibernate,其中一个应用程序写入DB,另一个从DB读取。当正在编写的应用程序通过Hibernate写入时,是否有一种简单的方法通知正在编写的应用程序?分布式缓存将使缓存失效,但我需要读取应用程序知道已进行更改以立即刷新其数据 谢谢, D我认为,如果不付出一些努力,您将无法实现这一点,尽管所有组件都在那里完成您需要的各个部分 具体来说,Hibernate内置了对as的支持。JBossCache确实提供了一种事件体系结构,允许您侦听缓存中的更改 挑战在于将两者结合起来

我希望使用分布式缓存设置Hibernate,其中一个应用程序写入DB,另一个从DB读取。当正在编写的应用程序通过Hibernate写入时,是否有一种简单的方法通知正在编写的应用程序?分布式缓存将使缓存失效,但我需要读取应用程序知道已进行更改以立即刷新其数据

谢谢,
D

我认为,如果不付出一些努力,您将无法实现这一点,尽管所有组件都在那里完成您需要的各个部分

具体来说,Hibernate内置了对as的支持。JBossCache确实提供了一种事件体系结构,允许您侦听缓存中的更改

挑战在于将两者结合起来,并找出如何侦听hibernate使用的JBossCache配置中的更改。这应该是可能的,你只需要做一点阅读

JBossCache2现在有点旧了,但它是Hibernate开箱即用支持的最新版本。JBossCache网站上有让v3使用Hibernate的文档,但这需要额外的工作


编辑:JBossCache的开发似乎正在停止,取而代之的是它的替代品。有关于如何使用复制缓存(如JBossCache、InfiniSpan或EHCache)的文档。

并配置为复制更新,而不是使缓存失效。 例如

谢谢您的回复,但不确定您的答案。我做了一些研究,我认为我需要简单地使用一个复制缓存。(EHCache、Infinispan、JBossCache都提供了复制缓存的实现,这些实现与Hibernate一起开箱即用)。复制缓存和分布式缓存之间的区别在于,复制缓存中的添加/更新/删除操作将更新所有节点,而在常规分布式缓存中,它只会失效@DD:不要被术语和你认为的复制/分布式的含义分心。以上所有技术都可以完成您提到的任何事情。不确定您的意思。您似乎不需要使用事件体系结构来实现这一点。复制缓存解决方案可以立即实现这一点。因此,当你说将两者结合起来是一项挑战时,情况似乎并非如此。听起来相当直截了当,但我仍然要尝试:-)死链接请在您的答案中提供详细信息。仅链接的答案不会随着时间的推移很好地保存下来。