windchill交流第五篇:创建计划执行队列执行计划任务

本文介绍了如何在Windchill中创建计划执行队列,以实现按规律间隔执行任务。通过Java代码展示了创建队列对象、设置执行时间及周期,并调用TestQueue类的方法。创建完成后,队列将在指定间隔执行TestQueue的testQueue方法。
摘要由CSDN通过智能技术生成
所有文章全部原创,均经过测试,如有不对,欢迎留言指正。
本文只描述如何创建队列,由于我本身就是做开发的,这篇文章也是写给开发人员看的,所以直接从代码入手可能更直观点。
可以通过计划任务队列去有规律有间隔的执行一些任务,和定时器类似。
请按照以下步骤进行:
第一步,编写创建队列对象的代码,详细说明参见代码:
编写两个类com.queue.CreateQueue 和 com.queue.TestQueue,CreateQueue 里编写创建队列的代码,TestQueue里编写计划任务队列执行时所调用的类和方法。
CreateQueue.java文件如下:
Java代码
1.
2./**project windchillTools**/
3.
4.package com.queue;
5.
6.import java.sql.Timestamp;
7.import java.util.Date;
8.import java.util.Enumeration;
9.
10.import wt.org.OrganizationServicesHelper;
11.import wt.org.WTPrincipalReference;
12.import wt.org.WTUser;
13.import wt.scheduler.ScheduleItem;
14.import wt.scheduler.SchedulingHelper;
15.import wt.util.WTException;
16.
17./**
18. * <p>Description: </p>
19. * @author: ZhongBinpeng
20. * @time: Oct 29, 2010 10:56:35 PM
21. * @version 1.0
22. */
23.
24.public class CreateQueue {
25.
26. public static void main(String args[]) throws WTException{
27. createScheduleQueue();
28. }
29. /**
30. * 创建计划执行队列,只需要执行一次即可,以后当windchill服务启动则按照设定的时间定时执行任务
31. * 11:25:38 PM
32. * @throws WTException
33. */
34. public static void createScheduleQueue() throws WTException{
35. System.out.println("开始创建计划执行队列... ...");
36. //创建计划队列对象
37. ScheduleItem si = ScheduleItem.newScheduleItem();
38. //设置该队列的描述信息
39. si.setItemDescription("测试计划执行队列");
40. //设置队列的名称,一般以英文命名
41. si.setQueueName("TestScheduleItem");
42. //设置要执行的类和方法
43. //类名
44. si.setTargetClass(TestQueue.class.getName());
45. //方法名
46. si.setTargetMethod("testQueue");
47. si.setToBeRun(-1l);
48. //设置开始时间,在这里我设置为队列创建后立即执行
49. Date today = new Date();
50. Timestamp timestamp = new Timestamp(today.getYear(), today.getMonth(),today.getDate(),
51. 00, 00, 0, 0); //这四个参数依次为小时,分,秒,毫秒
52. si.setStartDate(timestamp);
53. //设置执行周期,这里设置为每隔10秒执行一次
54. si.setPeriodicity(10);
55. //设置执行该任务的用户,如果是操作Windchill对象的话会牵扯到权限控制,这里设置为管理员执行
56. WTUser administrator = getUserFromName("Administrator");
57. WTPrincipalReference p = null;
58. si.setPrincipalRef(WTPrincipalReference.newWTPrincipalReference(administrator));
59. //最后,将计划任务对象添加到队列
60. si = SchedulingHelper.service.addItem(si, null);
61. System.out.println("计划执行队列创建完毕... ..." +
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值