【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 上载和下载机制 用户必须具有“下载”权限才能下载包含多个主要内容文件对象的“主要内容”。 类型属性管理器使用网页形式展示 生命周期和工作流模板列表使用网页形式展示

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/27777.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构(DS)学习笔记(二):数据类型与抽象数据类型

参考教材:数据结构C语言版(严蔚敏,吴伟民编著) 工具:XMind、幕布、公式编译器 正在备考,结合自身空闲时间,不定时更新,会在里面加入一些真题帮助理解数据结构 目录 1.1数据…

FullCalendar日历组件集成实战(15)

背景 有一些应用系统或应用功能,如日程管理、任务管理需要使用到日历组件。虽然Element Plus也提供了日历组件,但功能比较简单,用来做数据展现勉强可用。但如果需要进行复杂的数据展示,以及互动操作如通过点击添加事件&#xff0…

java+vue3+el-tree实现树形结构操作

基于springboot vue3 elementPlus实现树形结构数据的添加、删除和页面展示 效果如下 代码如下,业务部分可以自行修改 java后台代码 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.daztk.mes.common.annotation.LogOperation…

C++ UML建模

starUML UML图转C代码 数据流图 E-R图 流程图 整体架构图 ORM关系图 参考 app.asar附件资源可免激活 JHBlog/设计模式/设计模式/1、StarUML使用简明教程.md at master SunshineBrother/JHBlog GitHub C程序员UML实务手册代码 - 开发实例、源码下载 - 好例子网 GitHub -…

leetcode-09-[232]用栈实现队列[225]用队列实现栈[20]有效的括号[1047]删除字符串中的所有相邻重复项

重点: 栈和队列 Java中 栈不建议用stack来实现 建议用 ArrayDeque和Linkedlist来实现 队列建议用ArrayDeque和Linkedlist来实现 两者效率比较: java - Why is ArrayDeque better than LinkedList - Stack Overflow 基于Linkedlist是链表等,除…

LVGL:

LVGL(little video graphics library)是一个开源的嵌入式图形库,提供高性能、低资源占用的图形用户界面(GUI)。具有模块化(项目工程源码)设计,可以在多平台使用(如微处理…

【技术】MySQL 8.4 免安装版配置

MySQL 8.4 免安装版配置 官网下载压缩包解压文件创建配置文件初始化数据库安装MySQL服务链接数据库修改密码 官网下载压缩包 从MySQL官网下载压缩包,官网:https://www.mysql.com/ 头部菜单点击【DOWNLOADS】,跳转到下载页面。在页面底部点击…

苹果电脑装虚拟机和双系统的区别 苹果笔记本虚拟机和双系统哪个好 虚拟机能装MacOS吗 虚拟机类似的软件

Mac电脑用户在需要使用Windows操作系统的软件时,通常会面临两个选择:安装双系统或使用虚拟机。两种方式各有优缺点,适用于不同的使用场景。本文将详细分析和说明Mac电脑装双系统和虚拟机之间的区别,帮助用户选择最适合自己的方案。…

高清无字幕视频素材去哪里找?这几个热门无字幕素材网站你要知道

在短视频创作过程中,高清无字幕的视频素材是提升视频质量的关键。无论是制作校园活动宣传片,还是情感励志视频,这些素材都能让你的视频更具吸引力。今天,我就来给大家推荐几个超棒的视频素材网站,这些网站不仅资源丰富…

Java——面向对象进阶(三)

前言: 抽象类,接口,内部类 文章目录 一、抽象类1.1 抽象方法1.2 抽象类1.3 抽象类的使用 二、 接口2.1 接口的定义和实现2.2 default 关键字2.3 实现接口时遇到的问题 三、内部类3.1 成员内部类3.2 静态内部类3.3 成员内部类3.4 匿名内部类&a…

sslyze一键检查服务器检查服务器的 SSL/TLS 安全性(KALI工具系列二十五)

目录 1、KALI LINUX 简介 2、sslyze工具简介 3、信息收集 3.1 目标主机IP(服务器) 3.2 KALI的IP 4、操作示例 4.1 扫描主机和端口 4.2 批量扫描 4.3 插件扫描 4.4 输出结果 5、总结 1、KALI LINUX 简介 Kali Linux 是一个功能强大、多才多艺…

[Python学习篇] Python字符串

字符串是 Python 中最常用的数据类型,一般使用单引号或引号来创建字符串 语法: 字符串变量名A 字符串变量值A 字符串变量名B "字符串变量值B" 示例: a Hello A print(a) b "Hello B" print(b) 字符串特征 一对引号字…

竟然与 package-lock.json 更新有关!部分用户 H5 页面白屏问题!

一.问题 1 场景 现象 接到部分用户反馈进入xxx H5 页面空白; 研发测日志里问题用户的线上页面URL地址可以正常访问,没有复现问题!!! 定位问题 监控平台和客户端日志报错: SyntaxError: Unexpected toke…

调试了一下午,终于把tailwindcss搞进Blazor了

在Vue和Uniapp项目中使用tailwindcss后,实在是太香了,非常符合我这从XAML走过来的老程序员的手感,所以老想着在Blazor项目中引入。看了几个老外大佬的视频,调试了一下午,终于是捣鼓成功了。由于咱们Blazor项目不在node…

STM32硬件接口I2C应用(基于MP6050)

目录 概述 1 STM32Cube控制配置I2C 1.1 I2C参数配置 1.2 使用STM32Cube产生工程 2 HAL库函数介绍 2.1 初始化函数 2.2 写数据函数 2.3 读数据函数 3 认识MP6050 3.1 MP6050功能介绍 3.2 加速计测量寄存器 ​编辑3.3 温度计量寄存器 3.4 陀螺仪测量寄存器 4 MP60…

C++ Windows下Glog日志库安装使用教程

🙋 介绍:glog是google推出的一款轻量级c++开源日志框架。  环境配置:windows+VS2015+gflags 2.2.2+glog-0.3.5。为避免新版本(glog V0.7.1)踏坑,建议装低版本,这里我选用的是V0.3.5。 1. 下载 在gflags官方中下载gflags代码,官方地址 在Glog官方中下载,githut地址:…

简单易用的多功能图床Picsur

什么是 Picsur ? Picsur 是一款易于使用、可自行托管的图片分享服务,类似于 Imgur,并内置转换功能。支持多种格式的图片,包括 QOI、JPG、PNG、WEBP(支持动画)、TIFF、BMP、GIF(支持动画&#xf…

下载依赖有问题(只有自己有问题)

有缓存! 删除node_modules 命令:npm run clean 前提是该项目支持这个命令:package.json > scripts 内有 clean 例如下面这个就没有clean,则直接手动删除 清除缓存 npm cache clean --force pnpm store prune删除lock文件 …

Superset 二次开发之Git篇 git cherry-pick

Cherry-Pick 命令是 Git 中的一种功能,用于将特定的提交(commit)从一个分支应用到另一个分支。它允许你选择性地应用某些提交,而不是合并整个分支。Cherry-Pick 非常适合在需要将特定更改移植到其他分支时使用,例如从开…

可视化图表:如此高颜值柱状图,其实简单配置就能实现。

这不又有某个boss给我图截图一些柱状性图表,说他们的前端觉得很难,说了一堆技术术语,他也不懂,截图我看到后,就给了他一个网址,马上就解决了。 在这里给大家摘录出几个比较有特色的柱状图出来,让…