集群环境中的Spring Batch - Websphere

时间:2014-10-21 17:34:16

标签: spring websphere batch-processing

我确实设置了一个Spring Batch作业,它在单个JVM上运行良好。但我需要将它部署到集群环境中。我正在使用spring任务调度程序来安排工作。有没有办法在集群环境中执行此操作,如果一个节点关闭,另一个节点应该启动它。要部署的服务器是Webspehere。

3 个答案:

答案 0 :(得分:2)

SpringBatch不支持任何群集执行方式。如果您希望将任务集群化,则应检查产品,我建议您查看hazelcast

答案 1 :(得分:2)

两个建议:

  1. Quartz setup in the DB
  2. Hazelcast通过Apache Camel Idempotent repository
  3. 这两种方法都可以确保您的任务被一次

    第一种方法需要(繁琐的)Quartz DB设置,但您可以直接连接非集群Websphere Web应用程序。

    第二种方法并不需要持久存储,并且通过Apache Camel包装器使设置变得轻而易举。

答案 2 :(得分:0)

我终于让它使用EJB持久定时器启动spring批处理作业。这些EJB计时器的事务类型已定义为Bean Transaction,因此它不是容器管理的。 Websphere调度程序负责使用EJB计时器进行集群。因此,弹出批处理作业一次只能在一台服务器上启动。