提升属性

您可以将节点属性提升到消息流级别来简化消息流及其节点的维护,并通过聚集提升的属性为流内的多个节点提供公共值。

开始之前:

要将消息流节点属性提升到消息流级别:

  1. 切换到“代理应用程序开发”透视图
  2. 通过在导航器视图中双击消息流,打开您要提升属性的消息流。 您也可以通过在导航器视图中右键单击消息流,然后单击打开来打开消息流。 在编辑器视图中显示了消息流内容。

    如果这是您打开的第一个消息流,则还在编辑器视图的左边显示“消息流控制”窗口和可用的内置消息流节点的列表。

  3. 在编辑器视图中,右键单击您要提升的属性的消息流节点符号。
  4. 选择提升属性

    显示“提升属性”对话框。

    “提升属性”对话框

    对话框的左边列出了消息流内所有节点的全部可用属性。展开您突出显示的节点属性。您可以通过展开流中所有其他节点的属性(它们起初为折叠的),从该对话框访问打开的消息流内所有节点的属性,而无需考虑首次打开该对话框时所选的节点。

    对话框右侧列出了打开的消息流的名称以及当前提升到消息流的所有属性。如果您尚未提升任何属性,则仅在右边显示作为所提升的属性树的根的消息流名。在显示的图中,消息流不包含提升的属性,因此仅显示消息流名称。

    大多数消息流节点属性可以用于提升,但您无法提升以下属性:
    • 命名映射模块的属性。
    • 属性组,但您可以提升单独的属性。
    • 您不能编辑的属性(例如,MQInput 节点的属性验证组中的修正属性)。
    • 描述属性(简短描述和详细描述)。
  5. 选择要提升到消息流的属性。 左边的列表首先显示所选节点的所有可用属性的扩展列表。如果您已经从此节点提升了属性,则不在左边出现而是在右边。

    左边列表还包含打开消息流中的其他节点。您可以扩展在每个节点下列出的属性,并同时使用所有这些属性。您不必关闭对话框并从编辑器视图选择另一个节点来继续提升属性。

    您可以通过选择属性、按住 Ctrl 并选择一个或多个属性,来选择多个要提升的属性。

    如果已选择了多个要提升的属性,则所有您选定的属性都必须可用于提升。如果一个或多个选定属性无法用于提升,则整个选定范围将无法用于提升,而且右手窗格中的提升按钮将变灰。

  6. 单击提升按钮可提升一个或多个属性

    单击“提升”按钮将调用“目标选择”对话框:

    “目标选择”对话框

    “目标选择”对话框仅显示对先前选定属性的提升有效的目标,它允许您创建为提升创建新目标,例如提升到新组或新属性。

  7. 在“目标选择”对话框,为要提升的一个或多个属性选择目的地组或属性。通过将选定的一个或多个属性放到已存在的组或属性上,可从消息流中相同或不同的节点将相关属性归在一组。或者,单击新建组新建属性以创建新目标用于提升。 可通过选择组和属性并单击重命名,或者双击组或属性来对它们进行重命名。
  8. 单击确定确认您的选择。
    注: 如果您使用“目标选择”对话框创建新组或属性,则即使您在对话框中选择取消,更改也会持续存在。对话框关闭后,您使用“目标选择”对话框创建的组或属性将显示在“提升属性”对话框中。
  9. 选择了要提升到消息流的属性后,请单击确定 已落实更新,并关闭“提升属性”对话框。 如果单击应用,则落实更改但不关闭对话框。

    当您提升了属性后,可以不再通过“节点属性”对话框对该属性进行任何更改。您仅可以在消息流级别更新其值。

注: 您还可以将选定的一个或多个属性从“提升属性”对话框的左边窗格拖动到右边窗格,从该对话框提升属性。
  1. 选择要提升的属性。您可以通过选择属性、按住 Ctrl 并选择一个或多个属性,来选择多个要提升的属性。
  2. 可使用以下方法将选定的一个或多个属性放入右边窗格:
    1. 将选定的一个或多个属性放入空的空间中。

      为消息流自动创建新组,并将属性放到它里面,附带属性的原始名称和在属性条目下显示的消息流节点的名称。

      第一个创建的组的名称缺省为 Group1。如果名为 Group1 的组已经存在,则该组会命名为 Group2,依此类推。要重命名组,可双击组并输入新文本,或者选择“提升属性”窗格中的组并单击重命名
      注:

      当您创建新的提升属性时,输入的名称是系统内属性已知的名称,并必须符合某些 Java 和 XML 命名限制。这些操作是通过对话框执行的,而且如果输入包含无效字符的名称则显示消息。例如,您无法包含空格或双引号。

      如果您在用户定义的项目内开发会作为 Eclipse 插件传递的消息流,则可以为已经添加的提升属性添加转换。转换的名称可以包含受系统名称限定的字符,例如,空格。如果您正在消息流项目内使用消息流,则为提升属性提供转换的字符串的选项不可用。

    2. 将选定的一个或多个属性放到已经存在的组上,从消息流中相同或不同的节点将相关属性归在一组。

      例如,您可能要分组与数据库交互作用相关的所有提升的属性。通过在“提升属性”窗格中选择属性并将其拖至其他组,可随时更改提升属性所属的组。

    3. 将选定的一个或多个属性放到已经存在的属性上,从消息流中相同或不同的节点聚集相关属性。

      例如,您可能要创建在每个节点上定义数据源的属性的单个提升的属性。

      有关聚集属性的更多信息,请参阅聚集多个属性

现在消息流节点属性提升到消息流。要确认该操作,在导航器视图中右键单击消息流,或右键单击编辑器视图,然后选择属性

显示消息流的“属性”对话框,显示您已经提升的消息流节点属性,在所创建的组中组织这些属性。如果您现在为这些属性之一设置值,则该值作为属性的缺省值出现,无论何时消息流本身包含在其他消息流中。

当您提升了属性后,可以不再通过“节点属性”对话框对该属性进行任何更改。您仅可以在消息流级别更新其值。

当您在另一个消息流子流内选择嵌入式消息流并查看其属性时,看到已提升的属性值。如果您在嵌入式流中查看(即,如果选择打开子流),会看到属性的原始值。已提升的属性的值不会替换原始属性,但它在部署消息流时占先。

提升必要属性

如果您要提升必要属性(即,消息流节点的“属性”对话框中名称旁显示的星号),保留属性的必需字符。当提升必要属性时,无需在节点级别设置其值。如果包含必要提升属性的流作为子流包含在另一个流中,则必须为子流节点填充属性。

通过消息流的层次结构提升属性

您可以通过消息流的几个级别重复提升消息流节点属性的过程。可以从层次结构中的任何级别将属性提升到下一级别,并继而通过层次结构提升到顶层。从层次结构中最高的点(当消息流部署到代理时将它向下设置到原始消息流节点)传播属性的值。覆盖原始消息流节点上该属性的值。

相关参考
内置节点
声明 | 商标 | 下载 | 书库 | 支持 | 反馈
Copyright IBM Corporation 1999, 2006 最后一次更新时间:2006/08/14
ac02380_