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