跨Java EE应用程序通知数据库更改

跨Java EE应用程序通知数据库更改,java,oracle,web-applications,ehcache,jgroups,Java,Oracle,Web Applications,Ehcache,Jgroups,我有一个与EJB服务通信的web应用程序来检索数据并将其显示给客户端 web应用程序和EJB服务的数据库都不同。我在web应用程序中使用ehcache缓存从EJB服务检索的任何数据。现在,只要EJB服务提供的数据在DB(Oracle)级别发生更改,我的web应用程序中的缓存就需要得到通知 我的缓存是否可以接收此类通知并使用新数据刷新自身?让一个侦听器在从ejb接收任何数据时收到通知,为此,请使用observer设计模式或通过jms。在监听器中,您可以在Ehcache中重新加载特定元素。您的问题是

我有一个与EJB服务通信的web应用程序来检索数据并将其显示给客户端

web应用程序和EJB服务的数据库都不同。我在web应用程序中使用ehcache缓存从EJB服务检索的任何数据。现在,只要EJB服务提供的数据在DB(Oracle)级别发生更改,我的web应用程序中的缓存就需要得到通知


我的缓存是否可以接收此类通知并使用新数据刷新自身?

让一个侦听器在从ejb接收任何数据时收到通知,为此,请使用observer设计模式或通过jms。在监听器中,您可以在Ehcache中重新加载特定元素。

您的问题是缓存失效,请参阅我不确定JDBC的情况如何,但在使用OCI时 您可以使用类似“客户端结果缓存”的东西。然后,您可以让Oracle通知您基础表已更改。我认为Oracle对WebLogic也有类似的功能。查看更改通知:上面提到的DCN是我正在考虑的一件事,但我只是想知道使用Jgroups可以实现这一点吗?