0

我有 2 个网络应用程序。

我希望它使用 Hibernate 访问同一个共享数据库,并且我想在每个数据库中使用二级缓存。但我希望第二个 Web 应用程序能够看到第一个 Web 应用程序的修改。

我不确定是否已经理解,但 Hazelcast 是我需要的解决方案吗?

使用该解决方案,我能否像以前一样使用 Spring 管理事务?

谢谢你。

4

4 回答 4

1

我认为你让这比它需要的更复杂。只需将两个 Web 应用程序设置为使用 select 语句提取数据,并且每当您在其中一个页面上修改数据(使用更新)时,进行回发。

这样,无论哪个页面进行更改,页面都会回发,并且当其他页面加载时,更改已经存在。如果您使用 ajax 来避免回发,这也应该有效。

于 2011-08-25T17:01:38.297 回答
0

所以我不能使用两个分开的休眠会话工厂。

为什么不?除非您将刷新模式设置为MANUAL,否则应该没有问题。典型设置是COMMITAUTO

使用二级缓存可能会出现任何进一步的问题。如果您的应用服务器没有 JTA 环境,请避免这种情况。

PS:hibernate设置可以通过spring来配置,但也可以用其他方式进行。

于 2011-08-25T17:31:29.877 回答
0

去做就对了。应用程序对数据库所做的任何更改都应该对读取该数据库的任何其他应用程序可见。提交更改后,它应该在硬盘上,从硬盘读取数据库的任何其他人都应该看到它。

于 2011-08-25T16:59:28.423 回答
0

为什么你认为你不能有两个单独的会话工厂?这不会导致任何问题,除非您使用非集群二级缓存来存储读写实体。

于 2011-08-25T17:00:29.747 回答