模式是在给定上下文中某个">常见问题的可重用解决方案。为复杂的可重用消息流创建模式势在必行,这样,客户只需更改某些配置值,就可在不同的场景中重用该消息流。一个模式所提供的可重用解决方案可封装已测试的方法,从而在特定上下文中完成常见的架构、设计或部署任务。决定使用模式时,实际上很多设计和开发工作已经完成了,这可以减少您的开发、测试和运营工作,从而节省时间和金钱。
IBM® WebSphere® Message Broker V8 扩展了 Message Broker Java API,并且支持修改用户定义的模式实例或使用 Java 代码开发新的消息流应用程序。以前,您必须使用 Message Broker Toolkit 开发消息流应用程序,但全新的 Java API 允许您使用 Java IDE 开发消息流,无需使用该 Toolkit。
WebSphere Message Broker API
Message Broker API 是一个编程接口,允许应用程序通过一个远程接口控制代理及其资源。Message Broker API 也称为 Configuration Manager Proxy (CMP) API。V7 中已经删除了 Configuration Manager,并且该 API 的完整名称也发生了变化,但术语 CMP 应用和 CMP API 仍保留了下来,在信息中心内,该 API 指的是 Message Broker API,这样做的目的是为了实现与 JAR 文件 ConfigManagerProxy.jar(提供了所需的类)的连续性和一致性。下面的图 1 显示了 ConfigManagerProxy.jar 中提供的包,红圈中的包提供了 Message Broker API 类。
图 1. ConfigManagerProxy.jar 中的 Java 包
Message Broker API 中只包含 Java 实现内容,并且被称为 Message Broker Java API。通过组成 CMP 的一组 Java 类,用户应用程序可完整访问各种代理功能和资源。使用 CMP API 与代理交互可执行以下任务:
创建和修改消息流应用程序 部署 BAR 文件 更改代理配置属性 创建、修改和删除执行组 查询和设置代理及其相关资源的状态,如果出现以下方面的状态更改,则会收到通知: 执行组 已部署的消息流 消息流使用的已部署文件(如 JAR 文件) 查看管理日志 查看活动日志
对于同 Message Broker 交互的应用程序,Java 类在逻辑上位于用户应用程序与 Message Broker 之间,位于用户应用程序的 JVM 内。为了实现连接性,API 需要使用 WebSphere MQ Classes for Java。如图 2 所示,消息流模式程序是一个强大的用户应用程序,可根据模式定义初始化消息流实例:
图 2. Message Broker API
场景
如下图所示,JKRetail 是美国一家大型零售商,在美国各地拥有众多商场(红色大头针),中心办公室设在内布拉斯加州(绿色大头针):
图 3. JKRetail 的商场和中心办公室