用户定义的属性(UDP)是一种变量,在 ESQL 程序内通过使用 DECLARE 语句指定 EXTERNAL 关键字来定义。例如,ESQL 语句 DECLARE today EXTERNAL CHARACTER 'monday' 定义了一个用户定义的属性,名为“today”,初始值为“monday”。
对于用户定义的属性,您还必须在构造使用它的消息流时定义此属性,才能使用它。请使用消息流编辑器执行该操作。
使用消息流编辑器定义 UDP 时,还会定义值和属性类型。该值可能是缺省值,这取决于 UDP 的类型。在消息流编辑器中赋给 UDP 的值优先于在 ESQL 程序中赋给 UDP 的任何值。
在部署使用 UDP 的消息流之前,您可以使用代理归档编辑器更改 UDP 的值。如果试图部署包含 UDP 的消息流,但此 UDP 尚未赋值,部署将失败。
有关更多信息,请参阅部署时使用 UDP 来配置消息流。
使用 UDP,可以轻松配置数据,并且可以象使用常规常量那样使用它。由于不对用户编写的插件进行外部调用,或者不涉及环境树的解析,因此 ESQL 代码更易于编写和维护,性能更好。另外,还除去了读取树外数据的解析成本。UDP 的值在部署时插入变量中,因此可以更快地访问它。
只能在模块或模式中声明 UDP。
有关如何从 JavaCompute 节点访问 UDP 的描述,请参阅从 JavaCompute 节点访问用户定义的属性。