用户定义的属性

用户定义的属性(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/05/19
ac00643_