创建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。