我编写了一段代码,它将提取数据库行并对其进行处理。 现在我正在选择 100 行并将其状态设置为 ProcessInprogress,并在成功处理后将 100 行的状态设置为“已处理”一一处理。 在 quartz 下,此过程每 2 分钟安排一次。
问题:当我的代码部署在多个节点中时,我必须注意什么才能使该过程成功运行。这样我应该避免在另一个节点中重复数据处理。
请提出建议:)
最佳答案
现在我正在锁定轮询过程获取的记录,以便其他实例或节点的轮询过程不应获取相同的记录。但这使得其他进程等待锁的释放。
有什么我可以做的,以便其他进程应该去获取接下来的 100 条记录,而不是等待锁。
请提出是否有更多关于处理在 java 中运行的数据库轮询过程的多个节点行为的建议。
谢谢
关于java - 多节点行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34327097/