所有文章全部原创,如有不对,欢迎留言指正。
通过添加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。
分享到:
相关推荐
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 ...
2. 客制化导航开发:文档提到要熟悉自Windchill 9.1版本到10.0版本之间导航功能的变化,并能创建自定义的Tab标签和子Tab。这涉及到对Windchill的界面元素进行定制化的开发,以满足特定的业务需求。 3. MVC模式的...
### Windchill客制化培训-学生练习手册 #### 概述 《Windchill客制化培训-学生练习手册》是一本专为学习Windchill软件客制化技术的学生们设计的教材。该手册主要介绍了如何根据特定需求对Windchill用户界面进行...
标题与描述中的知识点聚焦于Windchill PDM9.0的客制化技术,这是一个由PTC(参数技术公司)开发的领先产品生命周期管理(PLM)软件解决方案。以下是对Windchill PDM9.0客制化技术的详细解析。 ### Windchill PDM9.0...
Windchill 中文客制化 Windchill 是一个基于 Web 的产品生命周期管理(PLM)系统,由 PTC 公司开发。Windchill 的客制化是指对 Windchill 系统的配置和修改,以满足特定企业或组织的需求。在 Windchill 中,客制化...
### WindChill客制化知识点概述 #### 一、WindChill用户界面客制化(Customizing the Windchill 9.0 User Interface) - **模块1:配置WindChill显示文本(Configuring Windchill Display Text)** - **简介**:...
根据标题“Windchill10客制化文档.pdf”,这份文档是针对PTC公司(Parametric Technology Corporation)的Windchill产品版本10的一份官方文档。PTC是全球著名的软件和解决方案供应商,专注于制造业、产品生命周期...
《PTC Windchill专业化管理指南》是一本详细介绍如何高效管理和优化Windchill系统的专业书籍,主要面向熟悉或想要深入理解Windchill平台的管理员。Windchill是PTC(Parametric Technology Corporation)开发的一款...
**Windchill常见面试题目汇总** Windchill是一款由PTC公司开发的基于Web的企业产品生命周期管理(PLM)系统,主要用于产品数据管理和协同工作。它涵盖了产品设计、工程、制造、服务等整个生命周期,旨在提高产品的...
Windchill二次开发常用API方法 Windchill二次开发是指在Windchill平台上进行的定制化开发,以满足特定的业务需求。下面是Windchill二次开发中常用的API方法: 1. 根据零件名称/编码得到该零件 在Windchill中,...
根据给定文件的信息,我们可以提炼出关于Windchill二次开发的相关知识点。 ### 一、Windchill二次开发概述 Windchill是一款由PTC(参数技术公司)开发的产品生命周期管理(PLM)软件,用于帮助制造企业管理和优化...
《Windchill 9.1 客制化开发手册》是一本为新手和开发者提供的参考书,旨在帮助他们学习和掌握使用Windchill 9.1进行客制化开发的技巧和方法。本书详细介绍了Windchill 9.1以及与其相关的Arbortext 9.1、Pro/...
* 客制化的 SQL 脚本文件要与 Windchill 软件包保持一致,保存为 ANSI 编码格式。 * 使用 JavaScript 或者 HTML 的 A 标记新开窗口时,需指定新窗口的名称为 _blank。 2. Windchill 持久化对象 * Windchill 中的...
5. 客制化方法:了解如何通过WindChill的API、工作流编辑器和其他工具进行客制化开发。 6. 集成与互操作性:如果企业已经有一个成熟的IT环境,理解WindChill如何与其他系统(如ERP、MES等)协同工作也是很重要的。 ...
- **Windchill Customizer’s Guide**:介绍了如何使用Windchill进行客制化操作的基础知识和技术细节。 - **Pro/INTRALINK 9.1**:涉及与Pro/INTRALINK 9.1相关的客制化内容,包括集成设置和特定功能的定制。 - *...
根据提供的标题、描述以及部分内文,我们可以整理出Windchill二次开发中新手常用的一些API知识点。下面将详细解析这些API的功能与应用场景。 ### Windchill_二次开发新手入门常用的API #### 1. 查询零件(Part)...
3. **WindChill的客制化**:WindChill的客制化通常涉及对用户界面、业务流程、数据模型等方面的修改,以满足特定组织的需求。自定义标签是客制化的一种有效手段,因为它可以创建可复用的UI组件,提升用户体验,同时...
### Windchill 11 组件构造器原理详解 #### 一、概述 Windchill作为PTC旗下的产品生命周期管理(PLM)软件之一,在制造业信息化领域...理解ComponentBuilder的工作原理对于利用Windchill进行客制化开发具有重要意义。
### Windchill 11 选项集相关功能原生实现说明 #### 一、概述 ...这对于从事Windchill客制化的开发者来说,是非常宝贵的参考资料。希望本文能够帮助大家更好地掌握Windchill的相关技术,提升工作效率。
在本“Windchill培训笔记”中,我们将重点讨论如何进行Windchill的菜单定制,特别是针对顶级菜单的定制,以及涉及到的Action Tree和JCA Table的客制化。 首先,进行Windchill菜单定制的第一步是在安装目录的特定...