资源描述:
《如何实现websphere application server 6集群环境下的定时服务》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、如何实现WebSphereApplicationServer6集群环境下的定时服务 1、概述 在很多企业应用中有时需要在特定的时间运行一段代码,比如银行需要在晚上系统相对空闲的时间内进行日结的对帐,那么到了规定时间系统需要触发对帐服务运行对帐程序,现在EJB定时器服务能解决这个问题,它是一个可靠的、事务性的、提供容器的服务,允许Bean提供者注册定时反馈的企业Beans,它可以在特定时刻发生,或在某段时间之后发生,或以一定时间间隔重复发生。由于这个服务是可靠的,容器破坏的时候定时依然有效,企业Bea
2、ns的激活与失效、装载与保存周期都由定时器注册。定时器服务由EJB容器实现,定时器服务可以通过EJBContext接口新增的getTimerService()方法来访问,它返回实现TimerService接口的对象:这个接口允许创建不同的定时器来支持在不同时间、不同时间间隔、不同时间周期时发生的定时反馈。使用定时器服务的企业Beans的Bean类必须实现javax.ejb.TimedObject接口。在EJB2.1中,只有无序的会话Beans和实体Beans可以注册为定时器服务。这个功能在以后的规范中可
3、能会扩展到其它类型的Bean。 定时器服务适合长时间的业务处理模型,但并不适合用于实时的事件模型。 在ANAGEDBYSYSTEMUSING('locationSCHED_TABLESPACE'); 可以修改表空间名称,这个文件也可不做修改。然后修改createSchemaDB2.ddl修改后的的结果可以去掉原来的模式名称,那么新建用户表的时候将使用缺省连接数据库的用户的模式名。CREATETABLETASK(TASKIDBIGINTNOTNULL, VERSIONVA
4、RCHAR(5)NOTNULL, ROALLINTNOTNULL, CANCELLEDSMALLINTNOTNULL, NEXTFIRETIMEBIGINTNOTNULL, STARTBYINTERVALVARCHAR(254), STARTBYTIMEBIGINT, VALIDFROMTIMEBIGINT1234下一页....,。, VALIDTOTIMEBIGINT, REPEATINTERVALVARC
5、HAR(254), MAXREPEATSINTEGERNOTNULL, REPEATSLEFTINTEGERNOTNULL, TASKINFOBLOB(102400)LOGGEDNOTPACT, NAMEVARCHAR(254)NOTNULL, AUTOPURGEINTEGERNOTNULL, FAILUREACTIONINTEGER, MAXATTEMPTSINTEGER, QOSINTEGER,
6、 PARTITIONIDINTEGER, OEBIGINTNOTNULL) INSCHED_TABLESPACE; 这两个文件修改完成后,在命令行运行db2cmd转到db2命令窗口。 然后运行db2batch-dtimerdb-fcreateTablespaceDB2.ddl 和db2batch-dtimerdb-fcreateSchemaDB2.ddl生成定时服务所需要的表空间和表。 运行完成后用下列命令验证:Db2connecttotimerdbDb2listtables 你
7、将会看到有以下四个表被创建:Table/Viea Type------------ ------------- -----LMGR ADMIN T LMPR ADMIN T TASK ADMIN T TREG ADMIN T 其中主表task存放了定时程序的相关信息。 4、创建新的集群 分别在hosta,hostb,hostc上完成anager概要表: 点下一步直至完成 。 2)分别在hostc和hostb两个节点上选择创建应用服务器概要
8、表。 3)创建完成后在DeployManager概要上运行startManager.sh启动NetOut.log查看soap端口,缺省为8879。 5)在hostb和hostc两个应用服务器节点上运行addNode.shhosta8879 6)运行完成后,打开ND管理控制台:hosta:9060/ibm/console 7)在服务器下新建一个群集timertest,创建两个成员为clus01,clus02。启动群集。 5、创建定时