ESIRelease
此类主要用于记录目的。每当从 Windchill 中发布业务对象时,都会创建此类的实例并予以保留,由此表示给定的版本。考虑到用户可能需要管理版本,此类会扩展 wt.fc.Item。此外,此类还会实现接口 wt.inf.container.WTContained,以便可以将其与组织容器相关联。
ESIRelease 对象链接到发布过程中的所有事务。ESIReleaseTransactionLink 对象用来管理这些关系。ESIRelease 对象也通过 ESIReleaseObjectLink 实例链接到已发布的对象。
Windchill 发布业务对象时,ESIResponseGenerator 会创建 ESIRelease 对象并将其状况设置为“待处理”。其他可能的发布状况值为“成功”和“失败”。这些值使用标准 Windchill 枚举类型进行本地化。ReleaseStatusType 类定义 ESIRelease 状况的合法值范围。有关 Windchill ESI 版本枚举类型的定义,请参阅图 Windchill ESI 事务中的枚举类型
ESIRelease 对象的编号在发布的对象所属的组织中是唯一的。系统通过查找组织数据库中存在的编号的最高值,并在其中添加一个值,以在组织内生成唯一编号。为防止编号重复,系统会将 ESIRelease 对象的创建序列化。
此类 可由自定义者扩展。
Windchill ESI 事务中的枚举类型
ESIReleaseObjectLink
此类是对 wt.fc.ObjectToObjectLink 的扩展,并将可发布对象 (如 WTPart、WTChangeOrder2 或 MPMProcessPlan) 链接到表示其版本的 ESIRelease 对象。链接仅用于对象导航 (例如,在获取给定可发布对象的 ESIRelease 对象时),因此不带有任何属性。
ESIReleaseTransactionLink
如前面一节中所述,此类是对 wt.fc.ObjectToObjectLink 的扩展,用于将 ESIRelease 对象链接到构成由前者所表示版本的每个 ESITransaction 对象。链接仅用于对象导航 (例如,在查询发布中的事务时),因此不带有任何属性。
ESIReleaseUtility
此类位于包 txn 中,并为涉及 ESIRelease 对象的杂项任务提供实用程序方法。此类的公用方法提供了对包中某些服务的访问。有关此类中可用属性和方法的详情,请参阅 Windchill 版本特定的 Java 文档。
ESITransaction
任何 Windchill ESI 发布尝试都会生成一个或多个 Windchill ESI 事务,其中每个事务均由一个可持续 ESITransaction 对象表示。事务的初始状况为“待处理”。其他事务状况值为“正在处理”、“成功”或“失败”。这些值使用标准 Windchill 枚举类型进行本地化。ESITransactionStatusType 类定义 ESITransaction 状况的合法值范围。有关 Windchill ESI 事务枚举类型的定义,请参阅图 Windchill ESI 事务中的枚举类型
事务中包含的编号在发布的对象所属的组织中是唯一的,而其中包含的标志用来指示用户是否尝试删除事务 (即,将事务从用户界面中永久隐藏)。系统通过查找组织数据库中存在的编号的最高值,并在其中添加一个值,以在组织内生成唯一编号。为防止编号重复,系统会将事务的创建序列化。
ESITransaction 属于“公用”类。该类继承自 wt.fc.Item,以便其可以利用标准 Windchill 访问控制功能。此外,此类还会执行接口 wt.inf.container.WTContained,以便可以与组织容器关联。自定义者可以扩展此类。
事务对象继承
ESITransactionObjectLink
ESITransaction 对象可以与 wt.fc.WTObject 对象相关联。这是持续关系。ESITransactionObjectLink 对象用于管理这种关系。
ESITransactionObjectLink 属于“公用”类。此类可由自定义者扩展。
ESITransactionTargetLink
此类是对 wt.fc.ObjectToObjectLink 的扩展,顾名思义,用于将 ESITransaction 对象链接到 ESITarget 对象,其中将数据发布到后者由前者来表示。同样,链接仅用于对象导航 (例如,在提取给定事务的分发目标时),因此不带有任何属性。
* 
Windchill 发布业务对象时,会为版本中的每个 ERP 实例 (目标位置) 创建事务。每个此类事务均链接到相应 ERP 实例中的每个目标,ESITransactionTargetLink 对象用于管理这种关系。
ReleaseActivity
每个事务都包含零个或多个发布活动,这些活动由可持续的 ReleaseActivity 对象表示,如上图“事务对象继承”所示。ReleaseActivityWindchill ObjectToObjectLink 的子类,如图“事务对象继承”所示。
ReleaseActivity 对象可具有以下状况之一:“成功”、“失败”、“待处理”、“警告”或“部分成功”。状况值由枚举类型类 ReleaseStatusType 定义。
ReleaseActivity 对象具有操作属性。值由枚举类型类 ReleaseActivityAction 定义。请参阅上图“Windchill ESI 事务中的枚举类型”。
ReleaseActivity 对象可以有一个关联的 ReleaseActivityMessage。请参阅上图“追踪发布历史记录”。
发布活动与一个可发布对象 (即 wt.fc.Persistable 的实例) 和一个 ESITarget 对象相关联。ReleaseActivity 对象具有以下附加属性:
creator,表示创建 ReleaseActivity 的用户。通常,其值是与创建 ReleaseActivity 的函数关联的会话承担者。属性为 java.lang.String,因为值可能不是 WTPrincipal。
description,表示由创建 ReleaseActivity 的函数提供的有用文本。
releaseClass:表示针对所有 Windchill ESI RPC 响应提供的 Windchill ESI 逻辑名称。
deleted:该标志用于确定是否要删除条目 (即是否将其从用户界面中永久隐藏)。
releaseStamp,表示由创建 ReleaseActivity 的函数提供的时间戳。如果未提供值,则 releaseStamp 设置为 ReleaseActivity 对象的创建时间。显示事务及其关联活动时,活动按 releaseStamp 升序排列。
releasedObjectState,表示为已发布对象创建 ReleaseActivity 时其所对应的生命周期状态。此属性用于确定先前是否已发布给定对象。
状况为“成功”的 ReleaseActivity 对象用于确定先前是否已发布对象。不能从数据库中删除这些对象,因为发布对象时需要通过这些信息确定要使用的相应操作 (更新或创建)。具有相应 SQL 权限的管理员可以删除 Windchill ESI 事务和失败的发布活动 (及其关联消息)。Windchill ESI 不提供用于执行此操作的工具。
* 
如果对象的生命周期状态在发布后发生变化,则视为可以将该对象重新发布为变更的对象。尽管对象在开始重新发布时已经具有状况为“成功”的 ReleaseActivity,但不会将其视为先前已发布,因为其生命周期状态与先前创建的 ReleaseActivity 的 releasedObjectState 属性值不匹配。
* 
在将 Windchill ESI 首选项“检查小版本”设置为“否”后,如果对已发布的对象进行迭代并发布,则即使其生命周期状态与先前发布的小版本不同,也会将新的小版本作为未变更的对象进行处理。在这种情况下,要使事务成功,应将首选项“强制变更”的值设置为“否”。发布联合生产部件时,忽略上述首选项。换句话说,无论首选项的值为何,联合生产部件的新小版本始终作为更改的对象进行发送。
ReleaseActivity 属于“公用”类。此类可由自定义者扩展。这里提供了 Javadoc。
ReleaseActivityMessage
ReleaseActivityMessage 是可持续对象,其中包含可能对 Windchill ESI 用户有用的信息。每个 ReleaseActivity 可以具有一个与之关联的 ReleaseActivityMessage。
ReleaseActivityMessage 属于“公用”类。此类不可由自定义者扩展
ESITransactionRelease
ESITransaction 对象可以与 ReleaseActivity 对象相关联。这是持续关系。ESITransactionRelease 对象用于管理这种关系。
ESITransactionRelease 属于“公用”类。此类可由自定义者扩展。
ESIRelatedTransaction
ESIRelatedTransaction 是两个 Windchill ESI 事务之间的对象到对象链接。在合并多个发布请求时预计需要提供此链接。对象已在 Windchill ESI 中模型化,但没有用于创建或维护 ESIRelatedTransaction 对象的服务。
ESIRelatedTransaction 属于“公用”类。此类可由自定义者扩展。
ESITransactionUtility
类 ESITransactionUtility
Windchill ESI 事务包独立且“专用”,但类 ESITransaction、ReleaseActivity 和 ESITransactionUtility 除外。ESITransactionUtility 是包的公共接口。应通过 ESITransactionUtility 类的公用方法调用包的服务。类的方法不具有线程安全性。每个线程用于创建事务实用程序的新实例。
有关此类中可用属性和方法的详情,请参阅 Windchill 版本特定的 Java 文档。
事务警告委派
在 Enterprise System Integration 事务过程中生成警告时,委派机制允许/禁止根据需要发送通知。预设提供了两个委派,如下所示。这些委派可以使用服务特性 com.ptc.windchill.esi.delegate.TransactionWarningDelegate 进行配置。
TransactionWarningEmailDelegate - 此委派默认已配置,并会通过电子邮件向 ESITransaction 的创建者发送警告通知。有关受支持 API 和可自定义 API 的详情,请参阅类的 Java 文档。
TransactionWarningNoOpDelegate - 此类将忽略在发布事务期间生成的警告的通知。这是可用于配置的无操作委派。
TransactionWarningDelegateFactory - 此类用作实例化警告委派的常用工厂。返回用于基于配置发送警告的委派。可以为 ESITarget 集的 destinationID 配置该委派。有关 DestinationID 信息的详情,请参阅分发目标一节。
这对您有帮助吗?