扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
本篇内容主要讲解“Modern Batch和计算密集型的编程模型是如何批量处理”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Modern Batch和计算密集型的编程模型是如何批量处理”吧!
为治多等地区用户提供了全套网页设计制作服务,及治多网站建设行业解决方案。主营业务为成都网站设计、做网站、治多网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!ModernBatch和计算密集型的编程模型怎么批量处理
更轻松的开发和维护,因为使用了相同的工具集。
企业标准和服务质量实施上的一致性。
IBM开发的解决方案提供了一种具有凝聚力的批处理程序管理模式。IBMWebSphereApplicationServer的ModernBatch功能(可用于WebSphereApplicationServerV8、WebSphereApplicationServerV7.0FeaturePackforModernBatch和IBMWebSphereExtendedDeploymentComputeGridV8.0中)提供了一个批处理中间件框架,提供了:
容器管理的批处理作业执行:提供了Java批处理应用程序所需的结构和支持功能,帮助您避免“自定义中间件陷阱”。
作业控制接口:一个XML文件,描述一个批处理步骤中使用的Java类文件和批处理作业中包含的步骤。
作业检查点和重新启动功能:能够在记录数量或时间的基础上创建检查点。这支持从一个已知的检查点重新启动一个作业。
通用批处理数据流(BDS):包含将数据抽象为容易访问的记录格式的功能,使批处理编程能够重点关注业务功能,而不是读取和写入数据的基本代码。
拥有这样一个框架,可为开发自定义批处理中间件提供一种不错的替代方法,允许开发人员将精力集中在实现核心业务目标上。使用ModernBatch,可以将批处理应用程序的开发精简为编写作业的业务逻辑。这种业务逻辑与“管道”代码之间的关注点分离是批处理框架的一个重要优势。它实现了批处理功能的一种更有效的模块化,这支持更有效的重用,能够将批处理公开为模块化服务。
ModernBatch和计算密集型的编程模型怎么批量处理
ModernBatch支持两种批处理编程模式:
计算密集型:适用于执行计算密集型工作,且不需要重新启动功能的简单作业。
事务批处理:适用于需要一个容器管理的检查点和一种重新启动机制的作业。如果因为计划或未计划的断电而中断,这支持批处理作业从上一个检查点重新启动。
本文分析计算密集型模型并提供一个示例实现,该实现使用了IBMRationalApplicationDeveloperv8中所提供的新功能。
计算密集型的编程模型
计算密集型的编程包含以下元素:
控制器bean:一种无状态的会话bean,支持运行时环境控制应用程序的作业。此无状态会话bean(CIControllerBean)的实现由应用服务器提供。
作业步骤实现类:作业步骤表示作业将执行的业务逻辑。它由一个实现com.ibm.websphere.ci.CIWork接口的类的实例表示。CIWork接口包含以下方法:
run()方法将在CI作业运行时执行。
getProperties()和setProperties()方法用于通过来自客户端的属性获取输入值。
定义xJCL文件。
创建实现CIWork接口的Java类,包含将对每个作业步骤执行的业务逻辑。
使用指向com.ibm.ws.ci.CIControllerBean的无状态会话bean将CIWork适当地包装为实现类。
在构建示例计算密集型作业之前,一定要先理解计算密集型应用程序在运行时期间的行为。总之,发生的事情是:应用服务器使用xJCL文件查找并调用控制器bean。bean读取xJCL文件,对于xJCL中的每个作业步骤,bean将执行以下操作:
使用CIWork类的无参数构造函数实例化应用程序CIWork对象(由作业步骤的xJCL中的类名称元素指定)。
调用CIWork对象的setProperties()方法传递作业步骤的xJCL中定义的任何属性。
查找在企业bean模块的部署描述符中定义的工作管理器,使用它异步调用CIWork对象的run()方法。
有了对编程模型的这一理解之后,让我们看看开发计算密集型应用程序的步骤。
到此,相信大家对“Modern Batch和计算密集型的编程模型是如何批量处理”有了更深的了解,不妨来实际操作一番吧!这里是创新互联建站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流