我有2个应用程序:第一个是Web应用程序,通过它我们提供参考数据;第二个是基于ESB的应用程序,其中使用了参考数据。参考数据发生变化但不是很频繁。我们需要缓存参考数据。 Web应用程序(我不是所有者)使用了休眠模式。但是我基于ESB的应用程序却没有,我们只使用了EHCache。
当参考数据被需要在ESB应用程序中反映的独立Web应用程序更改时。我们使用消息队列来实现-也就是说,当参考数据更改时,Web应用程序将消息发送到消息队列。我们的ESB应用程序侦听该消息并清除缓存并再次缓存数据。这是可行的。但是这非常耗时。如何使用Hibernate改善情况?
问候,
苏本杜
最佳答案
从我所看到的,这并不是一个真正的休眠问题。我想说的更多是关于缓存本身。因此,我建议您查看一些分布式缓存,特别是Infinispan。这样,两个应用程序可以共享相同的缓存并进行操作。如果您仅使用Hibernate,但是缓存仍处于不同的计算机中且处于不同的状态,那么您将面临相同的问题。