2KB项目,专业的源码交易网站 帮助 收藏 每日签到

选择正确的 JSR-352 (Java批处理)实现的 10 个关键点

  • 时间:2019-01-23 18:38 编辑:2KB 来源:2KB.COM 阅读:382
  • 扫一扫,手机访问
  • 分享
摘要:
Java 英文原文:10 criteria for choosing the right implementation of the JSR-352 (Java Batch)

您可能已经知道,JSR-352是一个Java批处理的标准。该标准在今年发布,并被包含在了JEE7之中,这意味着,所有的JEE7应用服务器都会有批处理的能力。正如我在上一篇文章中指出,即使您的应用服务器是固定的,但是您依旧可以选择JSR-352的实现。

既然您可以选择,那么您应该怎么样选择呢?当然,这和JSR-352提供了什么没有关系,因为所有的实现都会有这些功能。你应该根据那些超出标准之外功能来进行选择。在本文中,基于之前在一些有代表性的公司例如保险公司和银行,中实现Spring Batch的一些经验,我整理了一些可以作为参考的标准。现在而言没有严格的JSR-352实现,即使是Spring Batch也还有一段距离,因此现在还没有直接比较实现方案的可能。但是我们依旧可以看看各个实现在每个参考标准上面的比较(下面的标准按照重要性来排序)。

可测试性

Junit 集成测试在不要部署到应用服务器商应该可以跑批处理任务。开发的周期性和测试覆盖的潜力都会提高很多。

组件

一个干净的批处理模型是很好的,但是为了快速开发批处理任务你需要依赖别人写好的稳定的组件。Spring Batch 有很多的这类组件 例如 ItemReaders,ItemWriters,PartitionHandlers 等等对应各类数据和环境。

可观察性

JSR-352 定义了批处理的元数据像 JobExecutions,JobInstances,StepExecutions 等等。应该有一个简单的能以图形化的方式查看这些数据或者起/停批处理任务。Spring Batch 提供了Spring Batch Admin 来实现这个功能。你也可以看看JMX提供的工具。

社区化

一个友好的开发者社区能很大的提高生产能力。看看Google的搜索结果,一个活跃的论坛和Stackoverflow上的活动来检查JSR352实现厂商的产品普及度。

任务继承

这个参考点看起来不是很重要,但是实际上所有Spring Batch项目都在用。大公司里面都有一些通用规则,例如协议监听器,日志初始化,退出代码转换等等等等。开发人员不应该自己添加适当的监听器,应该从父任务里简单的继承过来。然后在很多个类似的任务中用一个父任务来包含所有的公用组件这个功能听起来就比较有道理了。

开源化

开源到底好不好是个争论了很久问题,咱们也别老调重弹了。我个人喜欢开源的东西,因为代码的实现方式对我来说是比较重要的。所以我最起码能检查每一个我选择的开源产品的实现代码。

安全性

安全一直都是很重要的,应该要具备开始和停止任务的用户控制,而且不是所有人能看到批处理的元数据。




可伸缩性选项

可伸缩性是很重要的,我在这里列到第8点才说是因为最重要的伸缩性选项-Local Partitioning 已经包含在JSR -352 里面了。但是还应该有更多的选择 ,例如Spring Batch 提供的 Multi-threaded Step,Remote Partitioning ,Parallel Step,Remote Chunking 等等选项,所以看看你的实现厂商有没有提供其他的伸缩性选项。

可配置性

JSR-352 定义了基于XML的任务设置模型。Spring Batch 提供了基于Java (类型安全的)的配置方式,因此确保了编译期间很多细节问题的处理而且在任意IDE下支持重构。这个参考点对执行批处理任务不是很重要,所以我放在第九位,但是也是个值得拥有的功能点。

可扩展性

扩展性是一个非常重要的参考点,但是我把它放在最后一位是因为JSR-352 的 API 已经提供了基本上全部的用于可扩展的接口,例如启动和停止任务,查看批处理元数据和编写自有组件等等。但是,可能你还是会需要没有被包含在JSR-352标准里面的功能。

10条参考点,有些范围太广太淡,有些又是很必要很实用的,重要性的排序是基于我在一些大公司使用Spring Batch 的经验。你可能会有自己的排序或者有些其他想法,但是你得承认上面得这些参考点都是很重要的。 选择JSR-352的实现厂商应该慎重因为你可能会用很久。我也希望这些参考点在你需要做出选择的时候能帮助你。

本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接。 2KB翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。


2KB项目(www.2kb.com,源码交易平台),提供担保交易、源码交易、虚拟商品、在家创业、在线创业、任务交易、网站设计、软件设计、网络兼职、站长交易、域名交易、链接买卖、网站交易、广告买卖、站长培训、建站美工等服务

  • 全部评论(0)
资讯详情页最新发布上方横幅
最新发布的资讯信息
【计算机/互联网|】Nginx出现502错误(2020-01-20 21:02)
【计算机/互联网|】网站运营全智能软手V0.1版发布(2020-01-20 12:16)
【计算机/互联网|】淘宝这是怎么了?(2020-01-19 19:15)
【行业动态|】谷歌关闭小米智能摄像头,因为窃听器显示了陌生人家中的照片(2020-01-15 09:42)
【行业动态|】据报道谷歌新闻终止了数字杂志,退还主动订阅(2020-01-15 09:39)
【行业动态|】康佳将OLED电视带到美国与LG和索尼竞争(2020-01-15 09:38)
【行业动态|】2020年最佳AV接收机(2020-01-15 09:35)
【行业动态|】2020年最佳流媒体设备:Roku,Apple TV,Firebar,Chromecast等(2020-01-15 09:31)
【行业动态|】CES 2020预览:更多的流媒体服务和订阅即将到来(2020-01-08 21:41)
【行业动态|】从埃隆·马斯克到杰夫·贝佐斯,这30位人物定义了2010年代(2020-01-01 15:14)
联系我们

Q Q: 7090832

电话:400-0011-990

邮箱:7090832@qq.com

时间:9:00-23:00

联系客服
商家入住 服务咨询 投拆建议 联系客服
0577-67068160
手机版

扫一扫进手机版
返回顶部