【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 上载和下载机制 用户必须具有“下载”权限才能下载包含多个主要内容文件对象的“主要内容”。 类型属性管理器使用网页形式展示 生命周期和工作流模板列表使用网页形式展示
相关文章:
【Windchill监听器、队列、排程】
目录 Windchill监听器 监听器的概念 监听器的监听器实现原理 监听器的客制化 Windchill队列、排程 队列、排程的概念 Windchill常见出厂队列 自定义队列 Windchill 11新增功能 Windchill监听器 监听器的概念 监听器,字面上的理解就是监听观察某个事件&…...
统计信号处理基础 习题解答10-14
题目: 观测到数据 其中是已知的,是方差为的WGN,且和独立,求的MMSE估计量以及最小贝叶斯MSE。 解答: 观测到的数据写成矢量形式: 其中: 根据题目条件,符合定理10.3,因此…...
APP各种抓包教程
APP各种抓包教程 9/100 发布文章 wananxuexihu 未选择任何文件 new 前言 每当遇到一些 APP 渗透测试项目的时候,抓不了包的问题令人有点难受,但是抓不了包并不能代表目标系统很安全,那么接下来我会整理一下目前我所了解到的一些抓包方法 **声…...
web前端开发项目教学:深入剖析四大核心、五大技能、六大实战、七大建议
web前端开发项目教学:深入剖析四大核心、五大技能、六大实战、七大建议 在数字化的今天,Web前端开发已成为一项不可或缺的技能。无论是初学者还是有一定经验的开发者,都需要通过系统的项目教学来提升自己的技能水平。本文将围绕Web前端开发项…...
从入门到高手的99个python案例(2)
51. 列表和数组比较 - 列表通用,NumPy数组高效。 import numpy as np normal_list [1, 2, 3] np_array np.array([1, 2, 3]) print(np_array.shape) # 输出 (3,), 数组有形状信息 52. Python的内置模块datetime - 处理日期和时间。 from datetime import…...
btstack协议栈实战篇--Performance - Stream Data over SPP (Server)
btstack协议栈---总目录_bt stack是什么-CSDN博客 目录 1.Track throughput 2.Packet Handler 3.btstack_main 4.log信息 RFCOMM连接打开后,请求RFCOMM EVENT CAN SEND NOW,通过rfcomm request can send now event()。 当我们得到RFCOMM EVENT CAN SEND NOW…...
ThinkPHP5.0 apache服务器配置URL重写,index.php去除
本地环境wamp .htaccess文件代码 <IfModule mod_rewrite.c>Options FollowSymlinks -MultiviewsRewriteEngine onRewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_FILENAME} !-fRewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L] </IfModule> 踩过这个坑&a…...
《TCP/IP网络编程》(第十五章)套接字和标准I/O
之前数据通信时,使用的是read&write函数以及其他各种I/O函数,本章将使用标准I/O函数,例如C语言的fopen、fgetc、fputs等等;C语言的cout、cin等等 1.使用标准I/O函数的优点 ①跨平台兼容性: 标准I/O函数通常是跨平…...
认识一些分布函数-Gumbel分布
1. Gumbel分布 Gumbel分布(也称为古贝尔型)是一种常用的非对称极值分布( Extreme Value Distribution,EVD),用于建模极大值和极小值,也就是所谓的EVD Type I分布。例如,EVD Type I 被用来预测地震、洪水和其他自然灾害,以及在风险管理中建模操作风险和那些在一定年龄…...
C语言之void类型的本质
一:C语言属于强类型语言 (1)编程语言分两种:强类型语言和弱类型语言。强类型语言所有的变量都有自己固定的类型,这个类型有固定的类型占用,有固定的解析方法;弱类型语言中没有类型的概念&#x…...
Wall国内开源程序照片墙,支持VR全景及安装教程
下载 GitHub官网:https://github.com/zhang-tong-yao/wall 软件下载:https://github.com/zhang-tong-yao/wall/releases,推荐下载最新的版本。 演示效果 目前支持PC端和移动端自适应。 演示地址:https://demo-wall.ityao.cn …...
七个备受欢迎的IntelliJ IDEA实用插件
有了Lombok插件,IntelliJ就能完全理解Lombok注解,使它们能如预期般工作,防止出现错误,并改善IDE的自动完成功能。 作为IntelliJ IDEA的常用用户,会非常喜欢使用它,但我们必须承认,有时这个IDE&…...
HDFS架构
HDFS(Hadoop Distributed File System)是Apache Hadoop项目的核心组件之一,它是一个分布式文件系统,专为运行在通用硬件上的大型数据集提供高吞吐量的数据访问。HDFS的设计目标是支持大规模数据的存储和处理,尤其是在大…...
【机器学习】LightGBM: 优化机器学习的高效梯度提升决策树
🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 💫个人格言: "如无必要,勿增实体" 文章目录 LightGBM: 优化机器学习的高效梯度提升决策树引言一、LightGBM概览二、核心技术…...
【会议征稿,IEEE出版】第六届物联网、自动化和人工智能国际学术会议(IoTAAI 2024,7月26-28)
第六届物联网、自动化和人工智能国际会议(IoTAAI 2024)将于2024年07月26-28日在中国广州召开。 会议旨在拓展国际科技学术交流渠道,搭建学术资源共享平台,促进全球范围内的科技创新,提升中外学术合作。会议还鼓励不同领…...
Flask-Logging
Flask-Logging 教程 概述 flask-logging 是一个用于在 Flask 应用中实现高级日志记录功能的库。它能够帮助开发者轻松地配置和管理日志,适用于开发和生产环境。通过使用 flask-logging,可以更好地监控应用的运行状态和调试问题。 官方文档 Flask-Log…...
go匿名函数
【1】Go支持匿名函数,如果我们某个函数只是希望使用一次,可以考虑使用匿名函数 【2】匿名函数使用方式: (1)在定义匿名函数时就直接调用,这种方式匿名函数只能调用一次(用的多) &am…...
ZED双目相机环境配置
官方资料:stereolabs/zed-python-api: Python API for the ZED SDK (github.com) 1,配置ZED相机环境 1.安装CUDA 查看电脑是否安装CUDA,安装过程可参考以下博文: 如何选择匹配的CUDA版本:https://blog.csdn.net/iam…...
【最新鸿蒙应开发】——HarmonyOS沙箱目录
鸿蒙应用沙箱目录 1. 应用沙箱概念 应用沙箱是一种以安全防护为目的的隔离机制,避免数据受到恶意路径穿越访问。在这种沙箱的保护机制下,应用可见的目录范围即为应用沙箱目录。 对于每个应用,系统会在内部存储空间映射出一个专属的应用沙箱…...
SringBoot 如何使用HTTPS请求及Nginx配置Https
SringBoot 如何使用HTTPS请求及Nginx配置Https SringBoot 如何使用HTTPS请求生成证书导入证书及配制创建配置类将pfx转成.key和.pem Nginx 安装SSL依赖./configure 安装依赖编译安装完openssl后报了新错 Nginx配置 SringBoot 如何使用HTTPS请求 生成证书 由于业务数据在传输过…...
VB.net复制Ntag213卡写入UID
本示例使用的发卡器:https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...
聊聊 Pulsar:Producer 源码解析
一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...
【机器视觉】单目测距——运动结构恢复
ps:图是随便找的,为了凑个封面 前言 在前面对光流法进行进一步改进,希望将2D光流推广至3D场景流时,发现2D转3D过程中存在尺度歧义问题,需要补全摄像头拍摄图像中缺失的深度信息,否则解空间不收敛…...
dedecms 织梦自定义表单留言增加ajax验证码功能
增加ajax功能模块,用户不点击提交按钮,只要输入框失去焦点,就会提前提示验证码是否正确。 一,模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...
转转集团旗下首家二手多品类循环仓店“超级转转”开业
6月9日,国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解,“超级…...
生成 Git SSH 证书
🔑 1. 生成 SSH 密钥对 在终端(Windows 使用 Git Bash,Mac/Linux 使用 Terminal)执行命令: ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" 参数说明: -t rsa&#x…...
视觉slam十四讲实践部分记录——ch2、ch3
ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...
现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?
现有的 Redis 分布式锁库(如 Redisson)相比于开发者自己基于 Redis 命令(如 SETNX, EXPIRE, DEL)手动实现分布式锁,提供了巨大的便利性和健壮性。主要体现在以下几个方面: 原子性保证 (Atomicity)ÿ…...
深入理解Optional:处理空指针异常
1. 使用Optional处理可能为空的集合 在Java开发中,集合判空是一个常见但容易出错的场景。传统方式虽然可行,但存在一些潜在问题: // 传统判空方式 if (!CollectionUtils.isEmpty(userInfoList)) {for (UserInfo userInfo : userInfoList) {…...
前端中slice和splic的区别
1. slice slice 用于从数组中提取一部分元素,返回一个新的数组。 特点: 不修改原数组:slice 不会改变原数组,而是返回一个新的数组。提取数组的部分:slice 会根据指定的开始索引和结束索引提取数组的一部分。不包含…...
