用户定义的属性

用户定义的属性(UDP)是在您使用消息流编辑器构造消息流时定义的属性。该属性可由 Compute 节点等消息流节点内的 ESQL 程序使用。还可用作 JavaCompute 节点生成的 Java 内的 Java 属性。

UDP 的优点是操作人员可以在部署时更改它们的值。您无需更改应用程序。 例如,如果使用 UDP 保存有关计算机中心的数据,则可以在部署时为特殊机器、任务或环境配置消息流,而无须更改消息节点级别的代码。

当您启动消息流编辑器以创建消息流或修改现有消息流,以及决定消息流中需要哪些节点时,您也会有定义和给定初始值的选项(由选项卡提供)用于某些用户定义的属性。使用编辑窗口底部的“用户定义的属性”选项卡。有关如何执行该操作的更多信息,请参阅消息流编辑器

正如要使用消息流编辑器进行定义一样,定义 UDP 还必须通过使用任何使用它的 ESQL 程序中带 EXTERNAL 关键字的 DECLARE 语句,或任何使用它的 JavaCompute 节点中的 getUserDefinedAttribute 方法。

有关 DECLARE 语句的详细信息,请参阅 DECLARE 语句;有关如何使用 JavaCompute 节点中的 UDP 的更多信息,请参阅从 JavaCompute 节点访问用户定义的属性

当您在消息流中定义 UDP 时所给予它的任何值都会覆盖 ESQL 或 Java 程序中的变量值。

UDP 的值还可在部署时通过使用代理归档编辑器来进行修改,以编辑 BAR 文件。该值覆盖您在定义消息流时所给定的任何值。

消息流中的每个 UDP 必须具有一个值,可在声明 UDP 时给定,或者由消息流编辑器或代理归档编辑器给定;否则部署时会发生错误。在运行时,UDP 的值可在声明 UDP 后由后继程序语句查询,但无法修改。

UDP 的值是在流级别上设置的,而且对于流中包含的所有适当节点都是相同的。“适当节点”是支持 UDP 的节点,它位于向应用程序声明 UDP 的声明范围内。例如,如果使用消息流编辑器来更改称为“timezone”的用户属性的值(在称为“mySchema”的模式和称为“myFlow”的消息流中声明该属性),则 UDP 可在运行时用于 myFlow 中支持 UDP 且归入 mySchema 的所有节点。

同样,如果使用消息流编辑器更改子流中用户定义的属性的值,则新编辑的属性可用于子流中支持 UDP 且在声明范围内的所有节点。但对于例如父流中的节点,则不可用。

相关概念
消息流概述
ESQL 变量
ESQL 中用户定义的属性
相关任务
开发消息流
部署时使用 UDP 来配置消息流
从 JavaCompute 节点访问用户定义的属性
相关参考
ESQL 变量
DECLARE 语句
消息流编辑器
声明 | 商标 | 下载 | 书库 | 支持 | 反馈
Copyright IBM Corporation 1999, 2006 最后一次更新时间:2006/08/14
ac00643_