浏览 568 次
|
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
时间:2007-10-17 关键字: Scheduler
资源底下->Scheduler 新建一个后,点击"创建表"、"验证表"。例JNDI名为:tfjtaskcall
配置一个无状态session bean。例JNDI名:TfjSchedule 调用代码: InitialContext context;
try {
out.println("test servlet initializing....");
//begin to test schedule
//1. init context
context = new InitialContext();
//2. lOOkup schedule using its jndi name
Scheduler scheduler = (Scheduler) context.lookup("tfjtaskcall");
//3. create Class BeanTaskInfo
BeanTaskInfo taskInfo = (BeanTaskInfo) scheduler.createTaskInfo(BeanTaskInfo.class);
//4. lookup sessoin bean using its jndi name
Object obj = context.lookup("TfjSchedule");
//5. Narrow session bean
TaskHandlerHome home = (TaskHandlerHome) PortableRemoteObject.narrow(obj,TaskHandlerHome.class);
//6. add the schedule implementation into taskinfo class
taskInfo.setTaskHandler(home);
//7. set UserCalendar for task
Calendar now = Calendar.getInstance();
taskInfo.setStartTime(now.getTime());
// taskInfo.setInitialState(BeanTaskInfo.RUNNING);
// taskInfo.setStartTimeInterval("0 * * * * ?");
// taskInfo.setRepeatInterval("0 * * * * ?");
taskInfo.setRepeatInterval("20seconds"); //间隔20运行一次,格式为SIMPLE可这样设置
taskInfo.setNumberOfRepeats( -1); //一直运行,不停止
// taskInfo.setUserCalendar("com/ibm/websphere/scheduler/calendar/DefaultUserCalendarHome", "SIMPLE");//CRON 设置格式,默认为SIMPLE
//8. submit the task to scheduler
TaskStatus ts = scheduler.create(taskInfo);
out.println("user calendar is: " + taskInfo.getUserCalendarSpecifier());
out.println("test servlet end.");
out.println("...schedule taskId:" + ts.getTaskId());
//9. cancle the task and purged immEDIatelly
//scheduler.cancel(ts.getTaskId(),true);
out.println("The schedule job has been created successfully!");
}
catch (Exception e) {
e.printStackTrace(System.out);
}
一次启动,重启后将会自动启动 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
时间:2007-10-17
IBM帮忙:
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com.ibm.websphere.javadoc.doc/public_html/api/com/ibm/websphere/scheduler/TaskInfo.html |
|
| 返回顶楼 | |
|
时间:2007-10-21
根据经验,在集群环境中,Schedule必须得建立在某个节点上,而不是建立在多节点环境下, 要不然启动老不成功,会报以下错误:
The Scheduler tfjtaskcall has initialized. The Scheduler Daemon for instance tfjtaskcall has started. The Scheduler Service has completed starting the Schedulers. Scheduler tfjtaskcall (tfjtaskcall) has lost its lease and will no longer run tasks on this application server. Tasks will now run on server bj-pay3Cell01\bj-bill3Node01\s51_server1. DCS Stack DefaultCoreGroup at Member bj-pay3Cell01\bj-bill3Node01\s51_server3: Connected a defined member bj-pay3Cell01\bj-bill3Node01\s51_server4. |
|
| 返回顶楼 | |


