Windchill 队列相关

本文详细介绍了Windchill中的队列类型,包括进程队列、排程队列和汇聚队列,并提供了如何通过代码操作队列的实例,特别强调了在调用队列方法时静态方法和参数限制。此外,还讲解了如何处理队列池中的大批量并发任务,以及解决队列数量超过系统限制的问题。
摘要由CSDN通过智能技术生成

在windchill中队列分:排程,汇聚,进程
进程:我们通常在需要立即执行的任务,队列一般以业务模块+ProcessQueue结尾,如commonProcessQueue;

排程:我们通常在需要计划性执行某些任务时使用,队列一般以业务名称+ScheduleQueue,如commonScheduleQueue

汇聚:用的比较少,理解为系统本身相关的任务,WfPropagationQueue,DeleteCompletedWorkItemsQueue,WfUserWorkQueue等任务

PS:代码中如果通过队列去调用某个方法,方法一定得是静态方法,参数不能是对象
如:
在这里插入图片描述
下面我们介绍一下如何通过代码获取队列

public static ProcessingQueue getQueue(final String queueName) throws WTException {
        ProcessingQueue processingQueue = QueueHelper.manager.getQueue(queueName);

        String user = "";
        try {
            user = SessionHelper.manager.getPrincipal().getName();
            SessionHelper.manager.setAdministrator();

            if (processingQueue == null) {
                processingQueue = QueueHelper.manager.createQueue(queueName);
            }
            if (!processingQueue.isEnabled()) {
                QueueHelper.manager.enableQueue(processingQueue, true);
                QueueHelper.manager.startQueue(processingQueue);            
            }            
        } finally {
            if (StringUtils.isNotBlank(user)) {
                SessionHelper.manager.setPrincipal(user);
            }
        }
        return processingQueue;
    }

如何添加一个队列条目

public static boolean addEntry(String queueName,String methodName, 
			String className, Class[] argsType, Object[] args) 
			throws RemoteException, InvocationTargetException, WTException{
		if (!RemoteMethodServer.ServerFlag) {
			try {
				Class[] argType = {Strin
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值