【Windchill监听器、队列、排程】

作者 : admin 本文共2257个字,预计阅读时间需要6分钟 发布时间: 2024-06-17 共1人阅读

目录

Windchill监听器

监听器的概念

监听器的监听器实现原理

监听器的客制化

Windchill队列、排程

队列、排程的概念

Windchill常见出厂队列

自定义队列

Windchill 11新增功能


Windchill监听器

监听器的概念

监听器,字面上的理解就是监听观察某个事件(程序)的发生情况,当被监听的事件真的发生了的时候,事件发生者(事件源) 就会给注册该事件的监听者(监听器)发送消息,告诉监听者某些信息,同时监听者也可以获得一份事件对象,根据这个对象可以获得相关属性和执行相关操作。

事件:用户对事件源的一个操作,或者说程序执行某个方法,称之为一个事件,如人员检出文档。 事件源:发生事件的对象就是事件源,也就是被监听的对象,具体的某个文档对象,部件对象等。 事件监听器(处理器):监听并负责处理事件的方法,如监听到主内容被替换后,需要判断主内容的文件格式是否符合要求等。

监听器的监听器实现原理

【Windchill监听器、队列、排程】插图【Windchill监听器、队列、排程】插图(1)【Windchill监听器、队列、排程】插图(2)

监听器的客制化

新建AbstractServer接口

public interface AbstractServer {
}

GeneralListener类定义

需要继承ServiceEventListenerAdapter ; 增加构造方法GeneralListener(String s) ; 覆写父类方法notifyVetoableEvent(Object event) ,该方法中可编写监听到对应事件和对象后具体要执行的内容【Windchill监听器、队列、排程】插图(3)在windchill shell 中执行如下命令注册监听器,注册监听器后,重新 启动windchill监听器即可生效

xconfmanager -s wt.services.service.5007=ext.sjjx.listen.AbstractServer/ext.sjjx.listen.GeneralServer -t codebase/wt.properties –p windchill stop & windchill start

Windchill队列、排程

队列、排程的概念

通常用户点击页面某个功能的后,系统通常会立即在执行该操作后的业务逻辑,并将执行结果反馈给用户;但是,有的时候不需要用户立即知道执行结果,或者该操作需要执行很久才能计算出结果,如果仍然让用户等结果出现才能执行后续操作,则带来非常不好的体验感。 为了解决上述问题,队列和排程发挥了极大的作用。在生产环境中,队列和排程通常是运行在BMS服务中,他们是运行在windchill BMS服务中的一套程序代码或底层服务;不考虑业务的情况下,他们的执行不影响用户的操作,队列、排程的执行,用户无法看见,但是,队列中代码执行后产生的结果可以看见

Windchill常见出厂队列

EMailQueue

邮件服务用来排列发送电子邮件的请求。向邮件服务请求发送电子邮件时,将在 EMailQueue 上对该请求进行列队。在队列中处理该请求时,便会发送电子邮件。邮件服务还会使用队列来重新尝试发送那些发送失败的电子邮件。

PublisherQueues

可视化服务用来管理可视化数据的发布和打印,可视化服务中 CAD 数据通常在检入后发布。这样,许多客户站点便可大量使用这些队列来执行长时间 (可能是几小时) 运行的作业

WfPropagationQueue

工作流 (及其关联任务) 使用 WfPropagationQueue 将所有状态更改传播到“工作流”对象。这包括与那些状态更改关联的所有路由表达式和转变表达式。

WfScheduleQueue

工作流 (及其关联任务) 用来排列所有定时的事件。最后期限检查具有最后期限设置的任意工作流对象,并且在此队列内执行基于表达式的“同步自动机”。

WfUserWorkQueue

工作流 (及其关联任务) 用来实例化工作流自动机和执行工作流自动机操作。

更多队列请进入站点,队列管理器查看。自定义的队列创建成功后,也会显示到该页面

【Windchill监听器、队列、排程】插图(4)

自定义队列

队列的创建【Windchill监听器、队列、排程】插图(5)给队列添加执行条目,当向队列中添加条目后,如果队列没有阻塞也不需要排队的情况下,会立即执行该条目指向的方法

【Windchill监听器、队列、排程】插图(6)

排程的创建

【Windchill监听器、队列、排程】插图(7)排程中添加条目,需要指定所属队列,排程条目名称,执行的类,执行方法,下次执行时间等,当当前时间到达排程的下次执行时间后,即可执行对应的方法

【Windchill监听器、队列、排程】插图(8)

Windchill 11新增功能

Windchill 11与 windchill 9相比,界面有了较大的变化,但是实现模型是一致的。

Windchill 11的前端以ext js作为基础框架进行实现; Windchill 11中引入了 springframework ,因此可以开发rest接口,以及使用自动注入等功能; Windchill 11使用注解的方式建模相比 windchill9(Rational Rose)简单明了,仅需在java中使用注解,在执行命令即可。 Windchill 11开放webservice接口更加方便简单,发布的接口与传统webservice一致,学习起来更简单,(没有在windchill9中用过该功能,不确定使用适用windchill9) windchill 11中使用MVC table 、 MVC Tree Table相比 windchill 9中的JCA table、 JCA Tree Table更加简单明了,且前端代码量大大减少。 Windchill 11中的一个DataUtility实例可以配置到多个IBA属性上 文档管理:移除了 Java Applet 上载和下载机制 用户必须具有“下载”权限才能下载包含多个主要内容文件对象的“主要内容”。 类型属性管理器使用网页形式展示 生命周期和工作流模板列表使用网页形式展示

本站无任何商业行为
个人在线分享 » 【Windchill监听器、队列、排程】
E-->