2

我们有 Java EE 服务器,为我们提供负载平衡的集群网络场。我想使用相同的 EE 技术,构建在 Java EE 服务器上,但用于运行批处理作业。

我不想重新发明轮子,也不认为我是第一个想到这一点的人。

这类似于 WebShere 的现代批处理功能包,但我正在寻找一个开源解决方案,最好支持或能够支持 JBOSS 7 并使用自由许可证(Apache / MIT 等)。

理想的解决方案允许:

  • 是集群的 - 在集群中的多台机器上进行负载平衡和监控作业
  • 在单个 EE 服务器 jvm 中运行所有内容
  • 将作业作为从中央存储库中提取的可加载模块,不需要将新作业部署到服务器
  • 支持事务性(分块)或计算密集型(单步)应用程序
  • 提供一个隔离的容器来运行任意数量的作业
  • 允许作业停止、暂停和重新启动
  • 通过在作业配置的尽可能多的机器上运行块来实现负载平衡
  • 对作业进行优先级排序,使高优先级作业首先运行
  • 允许按需安排或启动作业
  • 有一个简单的 Web 界面,可以监控作业
  • 支持 JMX
  • 丰富的API

:D 虽然我们在它...

  • 有很好的文档
  • 提供可选的商业支持,但不一定来自运行项目开发的“营利性”公司

亲爱的圣诞老人,

今年我过得很好,有一次帮助威金斯老太太过马路,然后……

4

1 回答 1

3

我认为Spring Batch满足您的所有要求。

这是由 Spring 社区开发的,并得到了良好的支持:

  1. 分块
  2. 事务管理
  3. 停止,开始
  4. 故障转移
  5. 重试
  6. 作业监控(Spring Batch Admin Web)
  7. 消息传递
  8. 与作业调度程序集成
  9. 可以在负载均衡的环境中运行
  10. 良好的文档丰富的 API
  11. 有足够详细信息的好书,例如 Arnaud Cogoluègnes Thierry Templier Gary Gregory Olivier Bazoud 的“Spring Batch in Action”
于 2012-10-17T21:29:02.473 回答