两个应用程序之间的Java缓存同步
我想听听你的专业建议 场景]两个应用程序之间的Java缓存同步,java,caching,plsql,Java,Caching,Plsql,我想听听你的专业建议 场景] 有两个基于java的应用程序(比方说两个节点),它们都有缓存数据。如果刷新一个节点中的缓存,则应同步缓存的数据。例如,Tom最近获得了应用程序A的写入权限,这也应该反映在应用程序B中 挑战] 两个节点不是群集友好的,唯一的通信方式是通过数据库 问题陈述] 我们如何从一个节点获取触发器来启动另一个节点上的缓存刷新(并且由于策略而不使用第三方库) 我目前尝试的一种方法是实现DatabaseChangeListener,它将在出现任何事件(DatabaseChangeEv
有两个基于java的应用程序(比方说两个节点),它们都有缓存数据。如果刷新一个节点中的缓存,则应同步缓存的数据。例如,Tom最近获得了应用程序A的写入权限,这也应该反映在应用程序B中 挑战]
两个节点不是群集友好的,唯一的通信方式是通过数据库 问题陈述]
我们如何从一个节点获取触发器来启动另一个节点上的缓存刷新(并且由于策略而不使用第三方库) 我目前尝试的一种方法是实现DatabaseChangeListener,它将在出现任何事件(DatabaseChangeEvent)时激活。我可以尝试的另一种方法是轮询,但我认为这不是一种好的做法,因为这会产生很多无用的线程(可能会发生内存泄漏)
非常感谢您的意见:)我认为最好的方法是通过网络通知第二个集群-您可以使用套接字
如果您确实无法从一个节点连接到另一个节点(当两个节点都可以看到数据库服务器时,我看不出任何原因),那么您可以使用PL/SQL(甚至Oracle DB中的Java)向触发器中的第二个节点发送HTTP请求。有关更多详细信息,请参阅:我只想在Java端工作。据我所知,您介绍给我的内容还涉及PL/SQL端的配置工作,对吗?第一种方法——网络——纯粹是Java。第二种方法确实涉及PL/SQL。