Modern Batch和计算密集型的编程模型是如何批量处理

技术Modern Batch和计算密集型的编程模型是如何批量处理本篇内容主要讲解“Modern Batch和计算密集型的编程模型是如何批量处理”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编

本文主要讲解“如何批量处理现代批处理和计算密集型编程模型”。感兴趣的朋友不妨看看。本文介绍的方法简单、快速、实用。让边肖带你了解“现代批处理和计算密集型编程模型是如何批量处理的”!

如何批量处理ModernBatch和计算密集型编程模型?

更容易开发和维护,因为使用了相同的工具集。

企业标准和服务质量执行的一致性。

IBM开发的解决方案提供了一种内聚的批处理程序管理模式。IBMWebSphereApplicationServer(可用于WebSphereApplicationServerV8、WebSphere Application Server V7.0功能Packformernbatch和IBM WebSphere Extended Production Computegridv 8.0)的ModernBatch功能提供了一个批处理中间件框架,该框架提供:

容器管理的批处理作业执行:提供Java批处理应用所需的结构和支持功能,帮助您避免“定制中间件陷阱”。

作业控制界面:描述批处理中使用的Java类文件和批处理中包含的步骤的XML文件。

检查点和重启功能:可以根据记录的数量或时间创建检查点。这支持从已知检查点重新启动作业。

通用批处理数据流(BDS):包括将数据抽象成易于访问的记录格式的功能,使批处理编程可以专注于业务功能,而不是读写数据的基本代码。

拥有这样一个框架可以为开发定制批处理中间件提供一个很好的替代方法,允许开发人员专注于实现核心业务目标。使用ModernBatch,批处理应用程序的开发可以简化为编写作业的业务逻辑。业务逻辑和“管道”代码之间的这种关注点分离是批处理框架的一个重要优势。它实现了批处理功能更有效的模块化,支持更有效的重用,可以将批处理作为模块化服务公开。

如何批量处理ModernBatch和计算密集型编程模型?

ModernBatch支持两种批处理编程模式:

计算密集型:适用于执行计算密集型任务而无需重新启动功能的简单操作。

事务批处理:它适用于需要容器管理的检查点和重启机制的作业。如果因计划内或计划外断电而中断,这将允许批处理作业从最后一个检查点重新启动。

本文分析了计算密集型模型,并提供了一个示例实现,该实现使用了IBM Rational Application Developer V8中提供的新功能。

计算密集型编程模型。

计算密集型编程包括以下要素:

控制器bean:无状态会话bean,支持运行时环境来控制应用程序的作业。这个无状态会话bean(CIControllerBean)的实现是由应用服务器提供的。

步骤实现类:作业步骤表示作业将执行的业务逻辑。它由实现com.ibm.websphere.ci.CIWork接口的类的实例表示。CIWork界面包含以下方法:

运行配置项作业时将执行run()方法。

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和计算密集型编程模型是如何批量处理的”有了更深的理解,下面就来做一些实际工作吧!这是网站。更多相关内容,可以进入相关渠道查询,关注我们,继续学习!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/64469.html

(0)

相关推荐

  • zookeeper怎么远程调用(如何开zookeeper)

    技术如何进行Zookeeper开源客户端框架Curator的简单使用如何进行Zookeeper开源客户端框架Curator的简单使用,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小

    攻略 2021年12月23日
  • leetcode 二叉树分离(数据结构树如何转化为二叉树)

    技术LeetCode如何把二叉搜索树转换为累加树这篇文章主要介绍了LeetCode如何把二叉搜索树转换为累加树,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下

    攻略 2021年12月15日
  • CVE20178464 link代码执行漏洞是如何被攻击的?

    技术CVE–2017–8464 LNK 代码执行漏洞是怎么攻击的CVE–2017–8464 LNK 代码执行漏洞是怎么攻击的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可

    攻略 2021年12月20日
  • 如何使用Docker和Traefik搭建WordPress

    技术如何使用Docker和Traefik搭建WordPress这篇文章主要为大家展示了“如何使用Docker和Traefik搭建WordPress”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一

    攻略 2021年11月19日
  • 怎么把if-else重构成高质量代码

    技术怎么把if-else重构成高质量代码本篇内容介绍了“怎么把if-else重构成高质量代码”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅

    攻略 2021年10月21日
  • 宁冈县,井冈山有什么历史谁知道的??

    技术宁冈县,井冈山有什么历史谁知道的??井冈山,位于江西省西南部,地处湘赣两省交界的罗霄山脉中段,古有“郴衡湘赣之交,千里罗霄之腹”之称。解放前,井冈山没有独立的行政建制,是一个“人口不满两千,产谷不满万担”的偏僻小山村

    生活 2021年10月29日