技术开发 频道

使用JMS接口接入WebSphere MQ消息

  创建JMS管理对象

  JMS定义了一个通用的接口来发送和接收消息,只要与之通信的程序兼容JMS即可,点到点的JMS接口是:

  1. javax.jms.QueueConnection - 这个接口提供一个到JMS提供程序的连接,用于创建会话对象。

  2.javax.jms.QueueSession - 这个接口为产生和消耗消息提供上下文呢,包括创建QueueSender和QueueReceiver的方法。

  3. javax.jms.QueueSender - 这个接口用于向队列发送消息,javax.jms.QueueReceiver用于从队列接收消息。

  为了让你的代码可以在不同的消息提供程序间有良好的移植性,你必须在你的应用程序中使用javax.jms中的标准JMS接口,所有特定厂家的信息都封装在javax.jms.QueueConnectionFactory 和 javax.jms.Queue中,这些管理对象可以使用厂家提供管理工具进行构建,存储在JNDI命名空间中,JMS应用程序可以从命名空间中检索这些对象,这时就不需要知道是哪个厂家提供的了。

  按照下面的步骤使用Websphere MQ管理器创建管理对象,存储在基于文件的目录下:

  1.在JMS-管理对象上点击右键?添加初始上下文。

  2.在屏幕1上:

   为“JNDI存储在哪里”选择“文件系统”

   在关联目录处,输入C:\JNDI-Directory(前提是这个目录已经存在)

   注意工厂类和提供程序URL,因为你将会在Java代码中使用到(如图5所示)

  图5 添加初始上下文向导:你将在样例类中使用工厂类和提供程序URL

  3.你的管理器现在应该如图6所示

  图6 添加初始上下文后的MQ管理器:你可以在MQ管理器中轻易地创建JMS管理对象

  在新的初始上下文中,创建一个连接工厂。

  1.在连接工厂上点击右键?新建?连接工厂,在第一个屏幕上,在名称区域输入“TestQM_QCF”,点击“下一步”,在JNDI查找中你就使用TestQM_QCF了。

  2.将类型设置为“队列连接工厂”,点击“下一步”。如图7所示。

  图7 新建连接工厂向导:用于点对点消息的队列连接工厂

  3.保持传送类型为汇集,点击下一步,当WMQ和应用程序在同一机器上时使用汇集传输。

  4.在下一页面点击下一步(无需修改设置)。

  5.在最后一页,选择连接标签,点击“选择”按钮选择TestQM作为“基础队列管理器”。如图8所示。

  图8 新建连接工厂向导:连接工厂被包装为TestMQ

  6.点击“完成”。

  接下来创建目的地,对应WMQ消息的JMS管理对象。

  1.在目的地上点击右键?选择“新建”?“目的地”。

  2.在第一页上,在名字区域输入INInputTestQueue作为名字,确保类型设置为队列了,点击“下一步”。如图9所示。

  图9 新建目的地向导:使用InputTestQueue查找IN.QUEUE

  3.第二页保持默认设置不变,点击“下一步”。

  4.在最后一页:

   在队列管理器区域,点击“选择”按钮选择TestQM。

   在队列区域,点击“选择”按钮选择IN.QUEUE。

  5.点击“完成”。

  重复上述步骤创建另一个目的地:OutputTestQueue,它对应OUT.QUEUE。

1
相关文章