用户属性
SIMessage 接口和调解配置选择器支持用户属性。JMS API 支持原始包装器的用户属性或字符串类型。属性名可以是任何有效的 Java™ 标识(它不具有前缀 JMS)。SIMessage API 还支持原始包装器的用户属性或字符串类型,另外还支持 byte[] 和可序列化的类型。 任意的可序列化的对象可作为字节数组存储并只能作为字节数组来选择(仅使用等同项)。
SIMessage API 支持的用户属性必须具有前缀 user。您可使用 getMessageProperty、setMessageProperty 和 deleteMessageProperty 设置和访问这些属性。
与 JMS 交互
另外,还可以使用 xxxUserProperty 方法来设置和访问用户属性。在该情况下,必须省略前缀 user。未使用前缀 user 的属性名作为 JMS 用户属性存在于同一名称空间中。
例如,JMS 应用程序调用一个属性,如下所示:
setStringProperty("color", "green");
调解可通过下列其中一个调用访问该属性:getMessageProperty("user.color");
getUserProperty("color");
注: 调解消息选择器必须包含 user 前缀。
JMS 属性方法仅影响具有 JMS API 支持的类型的用户属性:- clearProperties() 仅清除 JMS 支持的那些属性。
- 仅当 JMS 支持属性类型时,propertyExists() 返回 true。
- getPropertyNames() 仅包括那些具有 JMS 支持的类型的属性。
- 仅当 JMS 支持时,setObjectProperty("xxxx", null); 才清除该属性。