欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

CC&B核心模块——Batch(批服务)

程序员文章站 2022-06-06 10:14:32
...

CC&B平台开发中,BATCH是少不了的,CC&BBATCH支持JAVACOBOL两种语言开发的程序,这里只介绍JAVA开发的BATCH。但系统中核心部份的BATCH大部分是采用COBOL开发,属于出厂时已经存在的。 
CC&B核心模块——Batch(批服务)
            
    
    博客分类: Oracle CC&B
 

1.       BATCH的功能:

BATCH()是一种离线的批处理程序,可以单独运行,不依赖WEB服务,是用来执行各类批量业务数据的程序。BATCH具有灵活,重复使用等特点,多个批服务串联到一起成为一个任务流(Job Stream)来处理一系列的后台业务。

2.       命名规范  
CC&B核心模块——Batch(批服务)
            
    
    博客分类: Oracle CC&B


CC&B核心模块——Batch(批服务)
            
    
    博客分类: Oracle CC&B 
 

说明:

1.       Name : 是程序类命,CmlQueryAccountInformationBatchCml开头Batch结尾,CmlCmCore Model/核心模块llocal/本接化Batch结属表明这个类是一个Batch程序。

2.  Multi Threaded/Rerunnable勾选说明这个Batch支待多线程。

3.     Worker Class Name是内部类的名字,这里输入的同类命一样,但在后面加上Worker,变成CmlQueryAccountInformationBatchWorker,工具生成出来的代码有个小bug,在内部类的继承类前多写了一个类名,CmlQueryAccountInformationBatchWorkerCmlQueryAccountInformationBatchWorker_Gen,因此需要手工去掉前面一部份。

4Single record per unit 是否单个记录执行。

3.       程序结构

A: 版权声明注释, 三个部分,第一部份版权说明,第二部份程序描述,第三部份修改记录。 
CC&B核心模块——Batch(批服务)
            
    
    博客分类: Oracle CC&B
   

B:头注解:作者,是否多线程支持,参数。

其中参数部分,name是参数的名字,在SQL配置阶段按照这个来配,required该参数在运行时是否必须给值,type,参数类型,除JAVA基本类型Stringinteger外,还可以是entity 类型,如果定义entity类型,必须指定entityName. 
CC&B核心模块——Batch(批服务)
            
    
    博客分类: Oracle CC&B
  

如何查找entityName,如果对CC&B系统熟悉,根据CC&B的命名规范很容易猜出是什么,最准确的办法是,在CC&B的英文界面,找到要配置的参数前面的英文描述,在Oracle提供的数据字典中找到表名,然后根据表名在系统中找到对应的JAVA对象名。  

 CC&B核心模块——Batch(批服务)
            
    
    博客分类: Oracle CC&B
 
CC&B核心模块——Batch(批服务)
            
    
    博客分类: Oracle CC&B
 

CC&B核心模块——Batch(批服务)
            
    
    博客分类: Oracle CC&B
 
 

C. 外部类参数变量和工作临时变量,注意注释说明 CC&B核心模块——Batch(批服务)
            
    
    博客分类: Oracle CC&B
 

 

D. 初始化和验证参数是滞有效: validateSoftParameters(),此方法最早执行。 
CC&B核心模块——Batch(批服务)
            
    
    博客分类: Oracle CC&B
  

E. 外部类的getJobWork()方法,此方法在初始化完成后运行,相当于普通JAVA类的main()方法。通常情况下,在这个方法中,将要处理的数据,全部查询出来。然后交给内部类一条一条的去处理。 
CC&B核心模块——Batch(批服务)
            
    
    博客分类: Oracle CC&B
    

F. 使用getThreadWorkerClass()方法得到内部类的实例对象(使用CC&B内部机制) 
CC&B核心模块——Batch(批服务)
            
    
    博客分类: Oracle CC&B
 

G. 内部类,内部类用于执行外部类查询出来的结果,通常都要是一条记录一条记录来处理。同样,内部类里面也有几个系统内置的方法,结构如下:

 G.1. 内部类参数变量和工作临时变量,注意注释说明, 这要要说明一下,内部类不要使用外部类的全局变量,以往的经验,会有NullpointException的风验。 
CC&B核心模块——Batch(批服务)
            
    
    博客分类: Oracle CC&B
 

G.2. 初始化和验证参数变量 
CC&B核心模块——Batch(批服务)
            
    
    博客分类: Oracle CC&B
 

G.3. 指定事务的提交策略。(三种) 
CC&B核心模块——Batch(批服务)
            
    
    博客分类: Oracle CC&B
  

 

G.4. 直正执行任务 
CC&B核心模块——Batch(批服务)
            
    
    博客分类: Oracle CC&B
  

 

G.5. 最终退出之前处理 
CC&B核心模块——Batch(批服务)
            
    
    博客分类: Oracle CC&B
 

 

4.       开发说明

1,   在注解中的Batch参数定义好之后,并且将内部类的超类的名字修改正确后,要生成外部类和内部类的GEN类,然后清理整个项目,最后刷新项目即可进行业务逻辑的编码。
CC&B核心模块——Batch(批服务)
            
    
    博客分类: Oracle CC&B
 

2,   内部类和外部类的变量不要共用。

3,   所有的参数,一定要在初始化之后验证。

4,   尽理在外部类的getJobWork()方法中一次性把查出的数据过滤完成,不要放在内部类中去过滤每条数理该不该处理,内部类严格上来说对每条记录都做处理。

5.       注册

将已开发好的BATCH注册到CC&B的数据库中。

步骤: A. 将已开发好的BATCH程序发布到WEB服务器,并启动WEB服务器;

            B. CC&B页面管理菜单/系统下,添加Batch Control/批控制。
CC&B核心模块——Batch(批服务)
            
    
    博客分类: Oracle CC&B

  

6.       调试(前提是已发布的程序所在的BATCH服务已正确启动)

A. 命令行调式

命令行提交,按照页面提交所需要的元素值,填写到配置文件,然后运行BATCH提交命令。 

 CC&B核心模块——Batch(批服务)
            
    
    博客分类: Oracle CC&B 

B. 页面提交

在页面点提交就行,这里不多说。

 

  • CC&B核心模块——Batch(批服务)
            
    
    博客分类: Oracle CC&B
  • 大小: 27.6 KB
  • CC&B核心模块——Batch(批服务)
            
    
    博客分类: Oracle CC&B
  • 大小: 49.9 KB
  • CC&B核心模块——Batch(批服务)
            
    
    博客分类: Oracle CC&B
  • 大小: 38 KB
  • CC&B核心模块——Batch(批服务)
            
    
    博客分类: Oracle CC&B
  • 大小: 34.9 KB
  • CC&B核心模块——Batch(批服务)
            
    
    博客分类: Oracle CC&B
  • 大小: 27.3 KB
  • CC&B核心模块——Batch(批服务)
            
    
    博客分类: Oracle CC&B
  • 大小: 37 KB
  • CC&B核心模块——Batch(批服务)
            
    
    博客分类: Oracle CC&B
  • 大小: 41.6 KB
  • CC&B核心模块——Batch(批服务)
            
    
    博客分类: Oracle CC&B
  • 大小: 40.5 KB
  • CC&B核心模块——Batch(批服务)
            
    
    博客分类: Oracle CC&B
  • 大小: 27 KB
  • CC&B核心模块——Batch(批服务)
            
    
    博客分类: Oracle CC&B
  • 大小: 62.5 KB
  • CC&B核心模块——Batch(批服务)
            
    
    博客分类: Oracle CC&B
  • 大小: 35.6 KB
  • CC&B核心模块——Batch(批服务)
            
    
    博客分类: Oracle CC&B
  • 大小: 24.8 KB
  • CC&B核心模块——Batch(批服务)
            
    
    博客分类: Oracle CC&B
  • 大小: 41 KB
  • CC&B核心模块——Batch(批服务)
            
    
    博客分类: Oracle CC&B
  • 大小: 29.3 KB
  • CC&B核心模块——Batch(批服务)
            
    
    博客分类: Oracle CC&B
  • 大小: 16.2 KB
  • CC&B核心模块——Batch(批服务)
            
    
    博客分类: Oracle CC&B
  • 大小: 27.1 KB
  • CC&B核心模块——Batch(批服务)
            
    
    博客分类: Oracle CC&B
  • 大小: 51.7 KB
  • CC&B核心模块——Batch(批服务)
            
    
    博客分类: Oracle CC&B
  • 大小: 21.5 KB
  • CC&B核心模块——Batch(批服务)
            
    
    博客分类: Oracle CC&B
  • 大小: 17.7 KB
  • CC&B核心模块——Batch(批服务)
            
    
    博客分类: Oracle CC&B
  • 大小: 16.5 KB