从 V2.1 迁移消息流

使用 mqsimigratemsgflows命令可以将消息流从 V2.1 迁移至 V6.0V5.0 迁移至 V6.0 时不必使用该命令。

使用 mqsimigratemsgflows 命令的条件

定制属性编辑器

如果用户定义的节点或升级的属性有属性编辑器,XML 属性将是 type="MyType" 并且有一个类 <package>MyTypePropertyEditor.class。

属性编辑器本身(用 Java 代码编写)不迁移。但是如果使用 Eclipse SWT 工具箱创建新的编辑器并使用相同的类名,不需要更改迁移的流就可以找到并装入这个新编辑器。

升级的属性名

V2.1 中,通过拖放创建升级属性时,属性名(xmi.label)被设置成属性名的转换形式。原始属性名不可以包含空格,否则会被代理拒绝。 但是升级的属性从不发送到代理,因此在 V2.1 中,它们可以包含空格。

迁移消息流时,会丢失原始名称并且只保留转换的名称。升级属性可以覆盖几个属性,因此原始名称必须与转换的名称相对应。

解决方案是通过替换空格或带有 Unicode 表示的其他相抵触的字符,来生成一个合适的属性名。 propertyDescriptor 的 propertyName 属性设置为 key=Property.<转换过的属性名>。UI 返回 <转换过的属性名>。

但是迁移的消息流不保留属性系统名,只保留转换名。因此查找原始属性十分困难,或者说不可能。 例如,如果消息流作为插件流提供,并且另一个用户流从该插件流升级属性,DataSource 升级属性将不显示为转换过的属性。

转换无效的 V2.1 名称

消息流和属性可以包含在 V6.0中无效的名称。如果发生这种情况,则进行以下转换。 使用一系列代表其 Unicode 代码点的字符替换每个不符合规定的字符。 例如,感叹号(“!”)被 X0026 代替。生成的报告文件中对此进行了说明。

这种转换是确定的。如果在其他情况下迁移消息流,并且该消息流引用了具有无效字符的流,则两个名称以相同的方式转换。

除一些极其罕见的情况,一般情况下这些转换都不会导致名称冲突。 由于 Unicode 代码点序列恰恰出现在另一个名称相同的出现相应字符的名称内,因此可能会发生冲突。 在这种情况下,您必须重命名其中一个消息流或属性,并重新导出流。 选择一个不包含 Unicode 代码点序列(“Xnnnn”)的新名称,并在迁移之前在控制中心中重命名该消息流。从不在文件系统中重命名 .msgflow 文件;始终使用控制中心工作台执行重命名任务。

映射节点类型

V2.1 节点被转换成 V6.0节点,如下所示:
V2.1 节点 V6.0
Compute Compute
Database Database
DataDelete Database
DataInsert Database
DataUpdate Database
Extract Compute
Filter Filter
Warehouse Database
相关概念
消息流概述
相关任务
迁移消息流
相关参考
mqsimigratemsgflows 命令
声明 | 商标 | 下载 | 书库 | 支持 | 反馈
Copyright IBM Corporation 1999, 2006 最后一次更新时间:2006/08/14
an18530_