本文来自:http://hi.baidu.com/fuqilee/blog/item/59888bfb7439a82b4f4aeac8.html
IBM WebSphere Application Server Scheduler
ibm WebSphere Application server Scheduler 是一种功能全面的定时器服务,提供了在
WebSphere Application server 中配置、管理和开发基于时间的工作任务的功能,能够使 J2EE
操作具有高性能、持久性以及事务性等特征。Scheduler 具有以下优点:
- 易于管理
Scheduler 的创建、更新、调度、验证以及监控等任务是 WebSphere Application server 中的管理控制台进行配置的,可在单个服务器
、集群、节点或单元中创建 Scheduler。每个配置后的 Scheduler 拥有唯一的 JNDI 名称、持久存储
设备和守护程序。
图 1. WebSphere Application Server 管理控制台中的 Scheduler 配置面板
- 具有持久性和事务健壮性
Scheduler 任务可以通过存入关系数据库的方式被持久化,因此可以保证长期多次的运行。轮询守护程序使用这个数据库来确定哪些任务要运行以及什么时候运行。
- 具有灵活的时间定制方式
Scheduler 任务依据用户指定的日历在某一时间开始执行一次或多次任务,用户可根据需要订制自己的日历。
- 具有扩展性
当 Scheduler 服务运行于集群环境的时候,可以通过负载均衡管理提高性能和可用性。
图 2. 集群环境中的 Scheduler
使用 WebSphere Application server Scheduler 服务可通过以下三个步骤:
- 在 WebSphere Application server 管理控制台配置 Scheduler 服务;
- 开发调用 Scheduler 服务代码;
- 部署;
Scheduler 服务可由以下两种方式调用:调用会话 Bean 的任务,发送 Java
消息的服务。本文中使用调用会话 Bean 的任务说明如何调用 Scheduler 服务。
- 创建一个 EJB 项目用以开发由会话 Bean 实现的任务,在 EJB Module 中创建一个无状态 Session
Bean(ScheduledTask),在部署描述符中添加
com.ibm.websphere.scheduler.TaskHandlerHome 和
com.ibm.websphere.scheduler.TaskHandler 作为远程 Home 接口和远程接口。
- 实现 ScheduledTask 的 process 方法。
…
public void process(TaskStatus status) {
Date timeValue = new Date();
system.out.println("In process method, time is " + timeValue.toString());
}
…
|
- 在需要调用 Scheduler 服务的方法中查找 Scheduler,创建 BeanTaskInfo 实例并启动 scheduler。
// 在J2EE上下文环境中查找scheduler
Scheduler scheduler = (Scheduler)
new InitialContext.lookup("java:comp/env/sched/MyTestScheduler");
Object o = ctx.lookup("ejb/com/test/ScheduledTask");
TaskHandlerHome home =
(TaskHandlerHome)javax.rmi.PortableRemoteObject.narrow(o, TaskHandlerHome.class);
// 设置任务启动时间
java.util.Date startDate = new java.util.Date(System.currentTimeMillis()+3000);
// 设置BeanTaskInfo
BeanTaskInfo taskInfo = (BeanTaskInfo) scheduler.createTaskInfo(BeanTaskInfo.class);
taskInfo.setName("testTask");
taskInfo.setTaskHandler(home);
taskInfo.setStartTime(startDate);
taskInfo.setRepeatInterval("600seconds");
taskInfo.setNumberOfRepeats(-1); //重复直至任务被取消
taskInfo.setQOS(BeanTaskInfo.QOS_ATLEASTONCE);
// 启动scheduler和任务
TaskStatus status = scheduler.create(taskInfo);
|
WebSphere Application server Scheduler 易于管理,具有持久性和事务性,可扩展,可应用于集群环境,为
J2EE 应用提供了功能全面的计时器服务,但由于它与 WebSphere Application server
的紧耦合关系,降低了它的灵活性,造成了一定的局限。
分享到:
相关推荐
IBM WebSphere Application Server v7.0 Security
IBM WebSphere Application Server V7.0 Web Services Guide
本书全面阐述了从开发、装配、部署到管理WebSphere电子商务应用程序的各个方面。WebSphere Application Server 管理功能介绍。
从IBM官网下载的WebSphere应用服务器.安装的时候需要在IBM注册账号,验证账号.
IBM WebSphere Application Server - The Complete Reference Part I - Getting Started Chapter 1 - What Is WebSphere? Chapter 2 - Installing and Starting WebSphere Chapter 3 - Hello World (Wide ...
安装IBM WebSphere Application Server V8
从IBM官网下载的WebSphere应用服务器.安装的时候需要在IBM注册账号,验证账号.
Pro IBM WebSphere Application Server 7 Internals
IBM 红皮书 WAS WebSphere Application Server Liberty Profile Guide for Developers
IBM WebSphere Application Server实用大全
WebSphere Application Server V6WebSphere Application Server V6
WebSphere Application Server V6.1 Security Handbook. WebSphere Application Server V6.1 Security Handbook. WebSphere Application Server V6.1 Security Handbook.
WebSphere Application Server for Developers V8.5.5是供开发人员使用的免费版的was,需要的小伙伴可以本地安装一下 ,部署测试web项目,因为上传空间有限,这里就只上传windows64位的。
在Websphere Application Server 经常会出现乱码,有时候可以在项目中去设置,但有时候也是Websphere 造成的,所以需要你手动去更改Websphere 的设置。
WA361-IBM WebSphere Application Server V6.1 Adminstration.pdf
IBM Redbook - Running IBM WebSphere Application Server on System p and AIX
通过IBM WebSphere Application Server for Developers, 安装 WebSphere Application Server for Developers v8.5 的全过程截图。
详细描述WebSphere 6.1在Linux上安装步骤,IBMHttpServer的安装步骤,以及数据源的配置,分布式集群的配置
IBM WebSphere Application Server Network Deployment 6集群简单介绍
WA361-IBM WebSphere Application Server V6.1 Adminstration.pptx