【问题标题】:Eclipselink caching problem (one database for two systems)Eclipselink缓存问题(一个数据库两个系统)
【发布时间】:2011-11-09 02:07:09
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: caching jpa jpa-2.0 eclipselink


    【解决方案1】:

    我有类似的问题,但它与用户凭据有关。

    1)在店面配置缓存

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

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

    可能值得创建一个驻留在商店端的 Web 服务,它会在调用时使缓存无效。有点脆弱,但根据您的设置可能是必要的。

    3) 使用缓存协调

    EclipseLink 具有缓存协调功能。我从未使用过它,但它看起来可能是您的最佳策略。您可以查看 EclipseLink 文档以获取更多信息。

    【讨论】:

    • 选项 3 似乎最适合我的情况。你知道一个很好的教程,如何通过 RMI 在 tomcat 容器上管理它? EclipseLink 文档在这一点上不是很详细,谷歌只知道它的错误;)
    • 我对此没有任何经验。你可以试试 eclipselink 邮件列表。如果有人知道,那就是他们。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-14
    • 2011-08-17
    • 2014-01-22
    • 2011-06-09
    • 1970-01-01
    • 1970-01-01
    • 2012-11-24
    相关资源
    最近更新 更多