消息中介的实用介绍——第 1 部分:消息中介基础
2009-10-21 00:00:00 来源:WEB开发网使用该方法进行日志记录可以使您轻松地开启或关闭 Application Server 的日志。
正如我们后面即将看到的一样,当类被实例化时,提供 loggerName 的 set 与 get 方法,也允许中介框架设置 loggerName。值的设置将包含在中介处理程序的部署描述符中。同样的技术可以用来提供具有被管理对象引用的中介,例如数据源可以用来通过其它数据来增加消息。
使用 SIMessageContext 处理中介上下文属性
MessageContext 提供了访问上下文属性的方法。这些属性可以在管理员控制台进行设置,因此,中介可以恢复配置和其它可能影响消息处理的属性。
简单中介处理程序产生一个所有已设置属性的字符串表示法。这通过属性名返回一个格式化的字符串来实现。将下列方法加入到您的中介处理程序类中:
清单 4. private String
getContextProperties(SIMessageContext msgCtx) {
StringBuffer data = new StringBuffer(); Iterator
i = msgCtx.getPropertyNames(); String propName;
while (i.hasNext()) { propName = (String)
i.next(); data.append(propName);
data.append(" = ");
data.append(msgCtx.getProperty(propName)); if
(i.hasNext()) data.append(", "); }
return data.toString(); }
访问消息与 SIMessage 接口
通过传递到您的中介处理程序的 MessageContext,您可以使用中介中的 getMessage() 方法来访问消息。该方法返回 com.ibm.websphere.sib.SIMessage 的实例。您可能会对为什么一些类型的 JMS 消息没有被返回而产生疑问。原因是中介用于许多种类的消息而不仅仅是 JMS 消息。SIMessage 对象被用来描绘许多不同的消息类型, 包括 JMS 与 Web 服务格式。
更多精彩
赞助商链接