3

我有 2 个应用程序。第一个是 Web 应用程序,我们通过它提供参考数据。第二个是基于 ESB 的应用程序,其中使用了参考数据。参考数据更改但不是很频繁。我们需要缓存参考数据。 Web 应用程序(我不是所有者)使用休眠。但是我的基于 ESB 的应用程序没有。我们只使用了 EHCache。当需要反映在 ESB 应用程序中的独立 Web 应用程序更改参考数据时。我们使用消息队列实现 - 即当参考数据更改时,Web 应用程序向消息队列发送消息。我们的 ESB 应用程序侦听该消息并清除缓存并再次缓存数据。这很有效。但它很耗时。如何使用 Hibernate 来改善这种情况?

问候, Subhendu

4

2 回答 2

1

据我所知,这并不是一个真正的休眠问题。我会说这更多是关于缓存本身。因此,我建议查看一些分布式缓存,特别是Infinispan。这样,两个应用程序可以共享相同的缓存并对其进行操作。如果您只是使用 Hibernate,但缓存仍然在不同的机器上,具有不同的状态,那么您将面临同样的问题。

于 2011-01-08T10:46:36.153 回答
0

一种解决方案可能是在 Hibernate 应用程序中使用 EHCache,但您说您无法控制它...

因此,我为您看到的唯一方法是最大限度地减少费用并使用许多不同的缓存区域并仅使缓存数据的一小部分无效(以您现在执行的相同方式)。

于 2011-01-08T10:46:59.087 回答