如果我有 2 个进程在不同的节点上运行并且它们共享一个数据库,是否存在一个节点能够通过数据库向另一个进程发送一些通知的模式?
通常使用某种轮询表还是有更好的方法?
最佳答案
与其轮询(这不仅意味着消耗 CPU 周期,而且在本例中还消耗数据库资源和带宽),这个怎么样?如果您使用的是 Oracle,则可以为要通知的表定义一个 ON UPDATE 触发器,并从该触发器调用 Java 存储过程 (JSP)。然后 JSP 可以使用任何通知机制来通知其他组件有关更改的信息。这不会非常快,但很好......
正确的方法是让更新数据库的组件向另一个组件发送并行通知,并再次使用任何可用的技术来实现此 RMI、JMS 等
关于java - 通过数据库进行进程间通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13841162/