|
当 Windchill 8.0 出厂设置的更改管理工作流运行于 Windchill 10.x 上时,用户将在任务详细信息页面看到在 8.0 工作流模板中定义的活动变量,而不是在 10.x 工作流模板中定义的活动变量。
|
|
尽管可以将工作流变量声明为任意 Java 类型或 Windchill 类 (前提是它可序列化),但 PTC 建议您考虑下列指导原则:
• 工作流变量复合于 ProcessData 对象之内,而反过来 ProcessData 对象保留在 Oracle 数据库的 BLOB 列中。如果 BLOB 对象的持续签名在存储到数据库之后发生更改,则在从数据库中对其检索和解除序列化时可能会发生错误;因此,PTC 建议将工作流变量类型限制为如下类型:
◦ java 原语变量
◦ 可扩展变量
◦ 可持续变量
可扩展变量提供其持续签名中更改的处理方法。可持续变量作为 ObjectReferences (而非完全扩展对象) 存储在工作流变量中。
• 可持续变量不应在另一个类中复合,因为这会导致数据不一致或损坏。这样做也会导致在迁移过程中出现 wt.pds.NotEvolvableException。
• 可持续变量可能是 java.util.Vector 中的一个元素 (这是因为 Vector 类能接收通过 WfVariable 类作出的特殊处理),但是应尽可能避免这种情况。首选方法是使用指向可持续变量的 CachedObjectReference 或 ObjectReference。
• 工作流变量可以包含、复合 ObjectReference,或是在需要时将其封装到可持续变量。
|