java - 多节点行为

标签 java spring quartz-scheduler distributed

我编写了一段代码,它将提取数据库行并对其进行处理。 现在我正在选择 100 行并将其状态设置为 ProcessInprogress,并在成功处理后将 100 行的状态设置为“已处理”一一处理。 在 quartz 下,此过程每 2 分钟安排一次。

问题:当我的代码部署在多个节点中时,我必须注意什么才能使该过程成功运行。这样我应该避免在另一个节点中重复数据处理。

请提出建议:)

最佳答案

现在我正在锁定轮询过程获取的记录,以便其他实例或节点的轮询过程不应获取相同的记录。但这使得其他进程等待锁的释放。

有什么我可以做的,以便其他进程应该去获取接下来的 100 条记录,而不是等待锁。

请提出是否有更多关于处理在 java 中运行的数据库轮询过程的多个节点行为的建议。

谢谢

关于java - 多节点行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34327097/

相关文章:

java - 通过套接字发送图像

c# - 如何将数组作为参数发送到 C# 中的 quartz 计划作业?

java - Tomcat 8.0 不会以纯 Spring MVC 模板启动

java - 创建二进制文件 : "UnsatisfiedLinkError ibm/jzos/ZFile.fopen" after springframework. Scheduling.quartz.SchedulerFactoryBean 触发器时出错

quartz-scheduler - Akka-quartz 调度程序永远不会触发我的 Actor

java - 具有重复键的 Kotlin toMap 收集器

java - 不带空格的文本搜索

java - 如何从运行在 Linux 上的 Java 访问首选应用程序?

spring - 使用JpaRepository的deleteBy和removeBy的区别

spring - 将环境变量传递给 DOCKER Spring Boot