Spring Batch 2将支持工作划分和基于注解的配置[Java编程]
本文“Spring Batch 2将支持工作划分和基于注解的配置[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
这一版本的新特点可以分为四类:对Java 5的支持、非次序履行、加强的可伸缩性以及注解.
对Java 5的支持:
Spring Batch 2.0版支持Java 5泛型和参数化范例,以便可以在编译时查抄范例安全性.比方,ItemReader接口目前有了一个范例安全的read办法.
非次序履行:
这其实包含3个新特点——条件、暂停和并行履行.凭仗这些特点,各步骤可以按非线性次序履行.即便工作(Job)中的某个步骤(step)失利,整个工作也仍然可以完成.有条件履行(Conditional execution)按照最后一个ExitStatus把工作划分为差别的分支.这也包含FAILED状况下履行分支任务的本领,也就是说一个步骤的失利不再是整个工作的致命错误.暂停履行(Pause execution)可以用来终止或等候外部号令(explicit instruction),这在业务法则需求人工干涉以查抄业务关键数据能否有效时非常有效.而关于多步骤的并行履行(parallel execution),各步骤间彼此独立,用户可以自行指定哪些分支可以并行履行.
可伸缩性:
新版采取两种办法支持多进程的并行履行:远程分割及划分.远程分割是在对数据构造没有任何细致认知的情形下对一个步骤的特定工作举行划分的一项技术.任何输入源都可以动态分割,只需求通过单一进程读取该输入源,并将其作为一整块发送给远程工作进程便可.远程工作进程实现了listener情势,对恳求作出呼应,处理数据且异步发回应答.恳求和应答的传输必须是长期性的、有保证的,且只有单一的消费者,这些特点在全部JMS实现中都已具有.Spring Batch恰是在Spring Integration底子上构建的远程分割特点,因此它根本没必要关心消息中间件的实际实现.
划分是实现可伸缩性的另一种方法,相比之下,它需求知道输入数据的构造,比方主键的范围、大概要处理文件的名字.这种情势的好处是,分区中的每个元素的处理器都可以看做是正常Spring Batch工作中的单个步骤.它们不用实现任何特定情势,因而易于配置和测试.划分比远程分割更具伸缩性,这是因为在同一地方读取全部输入数据时不会产生序列化瓶颈.在Spring Batch 2.0 中,划分由两个接口支持:PartitionHandler 和StepExecutionSplitter.
基于注解的配置:
Spring Batch组件如reader、writer、processor、listener,都可以利用注解来配置,也都可以插入到任务的某个步骤中去.这是通过针对Spring Batch的XML命名空间来实现的.
新版本在利用程序监测方面也有一些改变,包含对履行或跳过项目的计数、记账;在每个阶段对全部项目读取、处理和写入的分割计数等方面的统计.关于那些没有把履行划分成读取、处理、写入等各个步骤(或tasklet)的利用来说,这些统计更多的是为了综合理解而绝非必须,但大都情形下,这总比只存储项目总数更可取.
SpringSource筹划在企业级Batch产品中供应划分和远程分割、还有管理和调度等方面的完好的运行时办理筹划.其将来的线路图还包含为Spring Batch 2.1增添Spring 3.0依靠(同时保存2.5.6为可选).恰是出于这样的筹划,新版本中涵盖的特点以工作和步骤的配置占多数,特别是在配置历程中利用了Spring Expression Language (EL)的耽误绑定(late binding),该耽误绑定的语法和Spring Batch 2.0中的基本相同,只是所供应的特点更多、机动性更大.
以上是“Spring Batch 2将支持工作划分和基于注解的配置[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |