目标是使所有群集的应用程序服务器识别对某个缓存的数据库表的数据的任何更改,以便应用程序代码可以对此做出反应。我正在将eclipselink与缓存协调一起使用。使用标准的eclipselink缓存(@Cache)缓存数据库表。
我知道可以使用数据库触发器,但是由于对数据的所有更改都仅通过应用程序执行,因此我希望在不接触数据库的情况下找到解决方案。我已经尝试过CacheInterceptor,但似乎没有捕捉到数据更新事件。
我已经考虑过JPA Entity Life Cycle Events,但这似乎并未捕获到Cache Coordination事件。
另一种选择是拦截JMS缓存协调队列,但这感觉更像是一种解决方法。
此问题的最佳实践解决方案是什么?请提供具体的配置提示。