java jms怎么用_如何将Java JMS与MQSeries一起使用

本文探讨了如何在不依赖特定供应商的情况下使用纯Java JMS API进行开发。介绍了如何配置和使用不同传输供应商的JMS类,特别是在WebSphere MQ环境下运行独立Java应用的方法。此外,还提供了无需JNDI即可初始化连接工厂的示例代码。

这里的问题是要求“我的老板要求我使用纯java JMS(而不是ibm.mq lib)来做。 JMS是一个规范,每个实现必须符合API和语义,但是可以在低级别自由地做任何他们想要的。始终需要使用由传输供应商提供的实现类。因此,如果使用WebSphere MQ作为传输,则需要使用IBM MQ JMS类来编写JMS应用程序。

也就是说,如果你坚持使用纯JMS API调用,你将能够插入任何传输供应商的类。这是当你被给予的要求,如在原始帖子中提到的通常打算。

有一篇文章描述你正在寻找什么叫做Running a standalone Java application on WebSphere MQ V6.0它只使用JMS API,它使用JNDI在本地文件系统(.bindings文件)。通过将另一个供应商的IBM JMS类交换出来,并使用他们的JNDI工具,您将能够插入任何JMS传输,而无需使用此方法更改代码。

如果您想在没有JNDI的情况下执行相同的操作,请查看MQ客户端安装所提供的示例程序,您在此处获取了Java类。在UNIX / Linux系统中,这些文件位于/ opt / mqm / samp中,在Windows上,它们位于install_dir / tools / jms / samples中。 SimpleRequestor.java示例具有用于初始化没有JNDI的连接工厂的以下代码:

try {

// Create a connection factory

JmsFactoryFactory ff = JmsFactoryFactory.getInstance(WMQConstants.WMQ_PROVIDER);

JmsConnectionFactory cf = ff.createConnectionFactory();

// Set the properties

cf.setStringProperty(WMQConstants.WMQ_HOST_NAME, "localhost");

cf.setIntProperty(WMQConstants.WMQ_PORT, 1414);

cf.setStringProperty(WMQConstants.WMQ_CHANNEL, "SYSTEM.DEF.SVRCONN");

cf.setIntProperty(WMQConstants.WMQ_CONNECTION_MODE, WMQConstants.WMQ_CM_CLIENT);

cf.setStringProperty(WMQConstants.WMQ_QUEUE_MANAGER, "QM1");

由于此方法不使用JNDI,因此需要编写不能跨传输供应商传输的代码。它是特定于IBM WebSphere MQ的。

如果你从某个地方抓取MQ瓶子,没有完全安装(因此没有样品),你可以下载它为SupportPac MQC7.下载是免费的。一般来说,你应该使用最新的客户端,即使有一个后台队列管理器。显然,您没有从V6 QMgr获得V7功能,但是V7客户端中的JMS实现得到了很大改进,即使对于V6功能。如果由于某种原因,您真的必须使用V6客户端,您可以下载它作为SupportPacMQC6.无论使用哪个客户端版本,请确保使用相应的信息中心。

最后,所有SupportPacs的索引的着陆页为here。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值