当前位置: 首页 > news >正文

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

目录

Windchill监听器

监听器的概念

监听器的监听器实现原理

监听器的客制化

Windchill队列、排程

队列、排程的概念

Windchill常见出厂队列

自定义队列

Windchill 11新增功能


Windchill监听器

监听器的概念

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

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

监听器的监听器实现原理

监听器的客制化

新建AbstractServer接口

public interface AbstractServer {
}

GeneralListener类定义

需要继承ServiceEventListenerAdapter ; 增加构造方法GeneralListener(String s) ; 覆写父类方法notifyVetoableEvent(Object event) ,该方法中可编写监听到对应事件和对象后具体要执行的内容在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 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 上载和下载机制 用户必须具有“下载”权限才能下载包含多个主要内容文件对象的“主要内容”。 类型属性管理器使用网页形式展示 生命周期和工作流模板列表使用网页形式展示

相关文章:

  • is not null 、StringUtils.isNotEmpty和StringUtils.isNotBlank之间的区别?
  • 【技巧】Leetcode 67. 二进制求和【简单】
  • uni-app前端,社区团购系统搭建部署
  • 汽车IVI中控开发入门及进阶(二十八):视频SERDES芯片
  • 【MySQL】在CentOS环境下安装MySQL
  • Qt 6.13
  • 源码编译安装 clang/gcc
  • 查看一个网站是否是用React搭建的
  • 安全等保评测-什么是“等保“?
  • 零基础入门学用Arduino 第三部分(二)
  • Linux DMA-Buf驱动框架
  • 超文本标记语言(HTML)简介
  • 基于Python+Flask+MySQL+HTML的B站数据可视化分析系统
  • uniapp使用css实现瀑布流
  • maven部署打包的pom配置
  • [iOS]Core Data浅析一 -- 启用Core Data
  • 03Go 类型总结
  • 30秒的PHP代码片段(1)数组 - Array
  • in typeof instanceof ===这些运算符有什么作用
  • iOS动画编程-View动画[ 1 ] 基础View动画
  • JS专题之继承
  • Laravel 中的一个后期静态绑定
  • mysql中InnoDB引擎中页的概念
  • Node.js 新计划:使用 V8 snapshot 将启动速度提升 8 倍
  • pdf文件如何在线转换为jpg图片
  • Redux 中间件分析
  • vue从创建到完整的饿了么(18)购物车详细信息的展示与删除
  • 大快搜索数据爬虫技术实例安装教学篇
  • 对象引论
  • 技术胖1-4季视频复习— (看视频笔记)
  • 检测对象或数组
  • 使用权重正则化较少模型过拟合
  • 推荐一个React的管理后台框架
  • 微服务框架lagom
  • 应用生命周期终极 DevOps 工具包
  • 原生js练习题---第五课
  • Spring Batch JSON 支持
  • # 安徽锐锋科技IDMS系统简介
  • #Z2294. 打印树的直径
  • (0)Nginx 功能特性
  • (1)svelte 教程:hello world
  • (2024.6.23)最新版MAVEN的安装和配置教程(超详细)
  • (4) openssl rsa/pkey(查看私钥、从私钥中提取公钥、查看公钥)
  • (二)丶RabbitMQ的六大核心
  • (附源码)spring boot建达集团公司平台 毕业设计 141538
  • (附源码)springboot 房产中介系统 毕业设计 312341
  • (附源码)ssm高校升本考试管理系统 毕业设计 201631
  • (十一)c52学习之旅-动态数码管
  • (转)nsfocus-绿盟科技笔试题目
  • (转)利用ant在Mac 下自动化打包签名Android程序
  • (转载)OpenStack Hacker养成指南
  • .net framework 4.0中如何 输出 form 的name属性。
  • .NET 回调、接口回调、 委托
  • .NET 解决重复提交问题
  • .netcore 如何获取系统中所有session_ASP.NET Core如何解决分布式Session一致性问题