`

windchill交流第二篇:让自己的方法随windchill服务启动---添加windchill客制化服务

阅读更多
所有文章全部原创,如有不对,欢迎留言指正。
通过添加Windchill客制化服务,可以让自己业务相关的对象在Windchill启动时进行初始化。如定制数据缓存,初始化静态变量,从而减少用户访问数据库的频率,提高访问相关数据的速度。
废话不多说,直接上代码,照着下面的步骤一步步来就ok。
/*************************************************************/

第一步:定义自己的业务接口ServiceInterface ,用来存放一些静态变量,方便其实现类的使用,我在这里将静态变量定义到了实现类中,所以只需写一个空的接口即可,代码如下:
package com.wcservice;
/**
 * 
 * <p>Description:  </p>
 * @author:
 * @time: 2010-4-30 下午05:03:35
 * @version 1.0
 */
public interface ServiceInterface {

   //##begin user.attributes preserve=yes
   //##end user.attributes

   //##begin static.initialization preserve=yes
   //##end static.initialization
	
   //##begin user.operations preserve=yes
   //##end user.operations
}

/*************************************************************/

第二步,定义该接口的第一个实现类ServiceInterfaceImp ,同时需要实现wt.method.RemoteAccess类,这个类里的相关代码是无需修改的。
package com.wcservice;

import java.io.Serializable;
import java.lang.String;
import wt.method.RemoteMethodServer;
import wt.services.Manager;
import wt.services.ManagerServiceFactory;
import wt.util.WTException;

/**
 * 
 * <p>Description:  </p>
 * @author:
 * @time: 2010-4-30 下午04:57:53
 * @version 1.0
 */
public class ServiceInterfaceImp implements wt.method.RemoteAccess,
		ServiceInterface, Serializable {

	// --- Attribute Section ---

	static final boolean SERVER = RemoteMethodServer.ServerFlag;

	private static final String FC_RESOURCE = "wt.fc.fcResource";

	private static final String CLASSNAME = ServiceInterfaceImp.class.getName();

	// --- Operation Section ---
   /**
	 * @return Manager
	 * @exception wt.util.WTException
	 */
	private static Manager getManager() throws WTException {
		Manager manager = ManagerServiceFactory.getDefault().getManager(
				ServiceInterface.class);
		if (manager == null) {
			Object[] param = {CLASSNAME};
			throw new WTException(FC_RESOURCE,
					wt.fc.fcResource.UNREGISTERED_SERVICE, param);
		}
		return manager;
	}
}


第三步,定义客制化服务启动和关闭的类MyService。
//该类需要继承wt.services.StandardManager类,并实现我们刚才定义的接口ServiceInterface,详细注释见代码:

package com.wcservice;

import java.io.Serializable;

import wt.services.ManagerException;
import wt.services.StandardManager;
import wt.util.WTException;
/**
 * 
 * <p>Description: 定义windchill客制化服务启动和停止的方法,同时定义创建该类对象的方法 </p>
 * @author:
 * @time: 2010-4-30 下午05:18:26
 * @version 1.0
 */
public class MyBusiness extends StandardManager implements ServiceInterface,Serializable {

	// --- Operation Section --- 
	
	/**
	 * 返回MyBusiness的对象,并调用父类StandardManager的initialize()方法进行初始化,该方法内容无需修改,方法名格式为new+你的类名
	 */
	public static MyBusiness newMyBusiness() throws WTException {
		System.out.println(MyBusiness.class.getName()+".newMyBusiness(),MyBusiness对象初始化完毕。");
		MyBusiness instance = new MyBusiness();
		instance.initialize();
		return instance;
	}

	// ##begin user.operations preserve=yes
	protected void performStartupProcess() throws ManagerException {
		//write your business here,while windchill start,it execute
		System.out.println(MyBusiness.class.getName()+".performStartupProcess()方法执行,windchill服务正在启动!");
	}

	protected void performShutdownProcess() throws ManagerException {
		//write your business here,while windchill stop,it execute 
		System.out.println(MyBusiness.class.getName()+".performShutdownProcess()方法执行,windchill服务正在停止!");
	}
}


第四步,将class文件copy到codebase对应目录下,然后打开<WT_HOME>/site.xconf增加如下内容:
<!--my cache-->
<!--只需修改value值,格式为 自定义接口+"/"+自定义实现类--->
<Property name="wt.services.service.3500" overridable="true" 
targetFile="codebase/wt.properties" 
value="com.wcservice.ServiceInterface/com.wcservice.MyBusiness"/>

修改完site.xconf文件,windchill shell中执行如下命令:
xconfmanager -p


第五步,重启windchill MethodServer,观察MethodServer窗口,可以看到:
先执行MyBusiness类的初始化方法newMyBusiness(),后执行performStartupProcess()方法。
然后关闭MethodServer的时候,可以看到MyBusiness类的performShutdownProcess()方法执行。
  
按照我的上述步骤进行,就算你是个windchill超级新手,也会成功。原理我就不在这里说了,大家有空可以多看看windchill的api。
0
0
分享到:
评论
1 楼 xiaogj 2011-08-10  
请教,不知道第二步的作用是什么?

相关推荐

    WindChill10客制化教程

    Windchill 10 客制化 PTC官方教程: 1、Eclipse configuration 2、Modeling with annotation 3、Action & Property Report 4、Log & Navigation 5、MVC 6、Table 7、Search and Result Table 8、Other Table ...

    windchill客制化开发指南.pdf

    2. 客制化导航开发:文档提到要熟悉自Windchill 9.1版本到10.0版本之间导航功能的变化,并能创建自定义的Tab标签和子Tab。这涉及到对Windchill的界面元素进行定制化的开发,以满足特定的业务需求。 3. MVC模式的...

    windchill客制化培训-学生练习手册

    ### Windchill客制化培训-学生练习手册 #### 概述 《Windchill客制化培训-学生练习手册》是一本专为学习Windchill软件客制化技术的学生们设计的教材。该手册主要介绍了如何根据特定需求对Windchill用户界面进行...

    windchill PDM9.0客制化

    标题与描述中的知识点聚焦于Windchill PDM9.0的客制化技术,这是一个由PTC(参数技术公司)开发的领先产品生命周期管理(PLM)软件解决方案。以下是对Windchill PDM9.0客制化技术的详细解析。 ### Windchill PDM9.0...

    windchill 中文客制化

    Windchill 中文客制化 Windchill 是一个基于 Web 的产品生命周期管理(PLM)系统,由 PTC 公司开发。Windchill 的客制化是指对 Windchill 系统的配置和修改,以满足特定企业或组织的需求。在 Windchill 中,客制化...

    WindChill客制化

    ### WindChill客制化知识点概述 #### 一、WindChill用户界面客制化(Customizing the Windchill 9.0 User Interface) - **模块1:配置WindChill显示文本(Configuring Windchill Display Text)** - **简介**:...

    Windchill10客制化文档.pdf

    根据标题“Windchill10客制化文档.pdf”,这份文档是针对PTC公司(Parametric Technology Corporation)的Windchill产品版本10的一份官方文档。PTC是全球著名的软件和解决方案供应商,专注于制造业、产品生命周期...

    Windchill专业化管理指南

    《PTC Windchill专业化管理指南》是一本详细介绍如何高效管理和优化Windchill系统的专业书籍,主要面向熟悉或想要深入理解Windchill平台的管理员。Windchill是PTC(Parametric Technology Corporation)开发的一款...

    Windchill常见面试题目汇总.docx

    **Windchill常见面试题目汇总** Windchill是一款由PTC公司开发的基于Web的企业产品生命周期管理(PLM)系统,主要用于产品数据管理和协同工作。它涵盖了产品设计、工程、制造、服务等整个生命周期,旨在提高产品的...

    windchill二次开发

    Windchill二次开发常用API方法 Windchill二次开发是指在Windchill平台上进行的定制化开发,以满足特定的业务需求。下面是Windchill二次开发中常用的API方法: 1. 根据零件名称/编码得到该零件 在Windchill中,...

    windchill二次开发资料

    根据给定文件的信息,我们可以提炼出关于Windchill二次开发的相关知识点。 ### 一、Windchill二次开发概述 Windchill是一款由PTC(参数技术公司)开发的产品生命周期管理(PLM)软件,用于帮助制造企业管理和优化...

    Windchill 9.1 Customizer‘s Guide.pdf

    《Windchill 9.1 客制化开发手册》是一本为新手和开发者提供的参考书,旨在帮助他们学习和掌握使用Windchill 9.1进行客制化开发的技巧和方法。本书详细介绍了Windchill 9.1以及与其相关的Arbortext 9.1、Pro/...

    windchill 11.0 m30 产品配置部分逻辑.zip

    5. 客制化方法:了解如何通过WindChill的API、工作流编辑器和其他工具进行客制化开发。 6. 集成与互操作性:如果企业已经有一个成熟的IT环境,理解WindChill如何与其他系统(如ERP、MES等)协同工作也是很重要的。 ...

    Windchill题库

    * 客制化的 SQL 脚本文件要与 Windchill 软件包保持一致,保存为 ANSI 编码格式。 * 使用 JavaScript 或者 HTML 的 A 标记新开窗口时,需指定新窗口的名称为 _blank。 2. Windchill 持久化对象 * Windchill 中的...

    windchill定制指南

    - **Windchill Customizer’s Guide**:介绍了如何使用Windchill进行客制化操作的基础知识和技术细节。 - **Pro/INTRALINK 9.1**:涉及与Pro/INTRALINK 9.1相关的客制化内容,包括集成设置和特定功能的定制。 - *...

    Windchill_二次开发新手入门常用的API

    根据提供的标题、描述以及部分内文,我们可以整理出Windchill二次开发中新手常用的一些API知识点。下面将详细解析这些API的功能与应用场景。 ### Windchill_二次开发新手入门常用的API #### 1. 查询零件(Part)...

    windchill自定标签jca

    3. **WindChill的客制化**:WindChill的客制化通常涉及对用户界面、业务流程、数据模型等方面的修改,以满足特定组织的需求。自定义标签是客制化的一种有效手段,因为它可以创建可复用的UI组件,提升用户体验,同时...

    Windchill 之组建构造器原理

    ### Windchill 11 组件构造器原理详解 #### 一、概述 Windchill作为PTC旗下的产品生命周期管理(PLM)软件之一,在制造业信息化领域...理解ComponentBuilder的工作原理对于利用Windchill进行客制化开发具有重要意义。

    Windchill 之选项集相关实现说明

    ### Windchill 11 选项集相关功能原生实现说明 #### 一、概述 ...这对于从事Windchill客制化的开发者来说,是非常宝贵的参考资料。希望本文能够帮助大家更好地掌握Windchill的相关技术,提升工作效率。

    Windchill培训笔记

    在本“Windchill培训笔记”中,我们将重点讨论如何进行Windchill的菜单定制,特别是针对顶级菜单的定制,以及涉及到的Action Tree和JCA Table的客制化。 首先,进行Windchill菜单定制的第一步是在安装目录的特定...

Global site tag (gtag.js) - Google Analytics