您现在的位置: 数控调查网 >> 软件教程 >> 辅助设计 >> ProENGINEER >> 正文
如何使Service只在指定的MethodServer上运行
作者:佚名 文章来源:Pro/E中文网 点击数: 更新时间:2006-6-10 0:01:46

如何使Service只在指定的MethodServer上运行

当你自己编写一个Service后,在wt.properties中进行注册,如:
 wt.services.service.xx=...
注册后,重新启动Windchill MethodServer时,所有已经配置的MethodServer都会启动该Service。如你的系统中配置了标准的MethodServer和BackgroundMethodServer,这2个MethodServer都将启动新的Service,这将导致Serivice中的处理会重复执行。
为了避免这种情况的发生,我们需要让Service在指定的MethodServer上运行。
1)在StartdardXXXService.java程序中,从wt.properties中读取一个变量(如ext.xxx.service)的值,然后根据该值决定是否启动Service。如果wt.properties中没有定义,缺省为false。
2)在wt.properties中,更改wt.manager.cmd.ServerManager的值设置,在其末尾添加ext.xxx.service=true。这样,Service就只在该MethodServer中启动。

以上设置只能让其它的MethodServer不运行你注册的Service(如ILGatewayService)。
但由于wt.manager.cmd.BackgroundMethodServer调用的是wt.manager.cmd.ServerManager的命令,所以还需要在wt.manager.cmd.BackgroundMethodServer的值末尾添加ext.xxx.service=false,以保证你注册的Service只在MethodServer中运行。

对于监听生命周期状态变化的Service,必须使其在前台的MethodServer和后台的MethodServer同时运行,否则,将导致一些事件无法监测到。

对于手工在Windchill浏览器中对对象直接设置生命周期状态,系统将在MethodServer中监听到。
如:星期二 12/30/03 15:19:43: RMI TCP Connection(6)-10.60.52.27: Found event target: ext.QY.QYDoc.QYDocument:2132955


而对于通过流程改变生命周期状态,却在Background MethodServer中才能监听到。
如:星期二 12/30/03 15:20:57: WfUserWorkQueuePollingThread: Found event target: ext.QY.QYProject.QYProject:2172404


免责声明:作品版权归所属媒体与作者所有!!本站刊载此文不代表同意其说法或描述,仅为提供更多信息。如果您认为我们侵犯了您的版权,请告知!本站立即删除。有异议请联系我们。
教程录入:admin    责任编辑:admin 
网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

|  设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 |