集群环境中的 Java Batch 作业

标签 java jboss cluster-computing batch-processing spring-batch

我们有一个包含 2 个 JBOSS 节点的集群。我们有一个批处理作业,它将所有用户详细信息从 Activity 目录加载到数据库。这项工作每天运行。它之前在非集群环境中运行,因此我们将其设计为单例。 现在我们有一个集群环境,我不知道实现相同结果的最佳方法是什么。我希望批处理作业每天只运行一次。我们使用 spring 和 hibernate,我查看了 Spring batch。对于我的问题,我无法得到任何简洁的答案。

谁能告诉我你是否在集群环境中实现了批处理?在这种情况下,最好的解决方案是什么?

最佳答案

我们通过 MQ 在外部触发和启 Action 业来实现这一点(启 Action 业的 http 请求也可以)。调度程序将一条消息放在队列中,即使我们有“n”个节点在监听队列,一个节点也会收到消息并根据消息的内容启 Action 业。您也可以使用 HTTP 执行此操作。

真正的“解决方案”是“从外部”安排批处理作业,而不是通过内部 cron 触发器。实际的启动机制是次要的。

关于集群环境中的 Java Batch 作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6771541/

相关文章:

java - 用java实现我自己的远程桌面

java - 如何识别导致 JVM CPU 使用率在 Jboss Java 应用程序中达到 90% 到 100% 的线程?

hadoop - 多节点hadoop集群安装推荐

parallel-processing - SLURM 是否支持在一个节点上同时运行多个作业?

java - 如何在没有 setter 的情况下扩展对象来获取父类(super class)状态

java - 如何使用 Spring MVC 3 从 Controller 中的模型中获取对象?

java - react 器与前摄器

java - 在哪里可以找到我的服务器的 JBOSS 部署状态列表?

java - 为 JBoss 的 log4j 中的所有日志输出指定日志级别

memory - h2o 包 : total cluster memory zero