Eclipselink缓存问题(两个系统的一个数据库)

我有两个在线系统在运行.他们两个都在使用
eclipselink.

第一个系统是管理系统,其中管理第二个应用程序的价格.
第二个系统是在线商店,客户可以在那里购买商品.
它们都在同一台服务器上运行并使用相同的oracle数据库.

为了提供快速访问,价格对象由eclipselink缓存.

如果我更改管理系统中的价格值,则商店系统应刷新其缓存以获得新的价格值.
解决这个问题的最佳方法是什么?

最佳答案 我有类似的问题,但它与用户凭据.

1)在商店侧配置缓存

您可以将EclipseLink缓存配置为有效期.您可以将其配置为具有
TimeToLive或值到期.例如,您可以将价格配置为在1,5或10分钟后过期.不是即时的,但非常快速且易于实施.查看EclipseLink中的@Cache注释.这就是我最终使用的.

2)让管理应用程序与商店应用程序通信

可能值得创建一个位于商店一侧的Web服务,这将在调用时使缓存无效.有点脆弱,但可能需要,具体取决于您的设置.

3)使用Cache协调

EclipseLink具有缓存协调功能.我从来没有使用它,但看起来它可能是最适合你的政策.您可以查看EclipseLink文档以获取更多信息.

点赞