`

JMS1.1连接MQ5.3问题

阅读更多

公司需要。通过JMS方式连接IBM WebSphere MQ操作制定队列中的消息。

目标MQ版本为5.3. JMS选择1.1.

基本实现是在tomcat上建立连接到MQ的Resource, 然后程序通过JNDI访问resource,再借用Spring对JMS的封装,使用org.springframework.jms.listener.adapter.MessageListenerAdapter监听队列消息。

 

在公司的测试环境中预先装了一个MQ7,抓取队列中消息正常。然而当安装了MQ5.3以后,原来的代码无法正常连接到队列中。

 

我能想到的可能原因如下:

1.MQ5.3不兼容JMS1.1的版本,只能兼容早期的JMS1.0.2规范?

其实国内外论坛上提到的很多都指明JMS1.1规范是在MQ5.3之后才出现的,无法使用JMS1.1正确连接MQ5.3.我开始也对此深信不移,于是将JMS jar包换成1.0.2,更换对应的spring类到xxx102上.但是始终抛出无法创建队列管理器的异常。

 

2.服务提供商jar包版本问题?

项目中类路径下放置的都是开始开发用的MQ7的jar包。观察后,确定MQ7与MQ5不但jar包内容有更新,而且使用的jar包也有所不同。于是将开发环境的jar包全部更换到5上。可是异常依然存在。

 

花了一下午的时间,翻了很多资料,无果。最后只好重新改回JMS1.1与MQ7jar包环境(至少这样的搭配在开始的时候还可以正常连接MQ7).重启发现抛出的异常与之前的都不同(Caused by: com.ibm.msg.client.jms.DetailedJMSSecurityException: JMSWMQ2013: The security authentication was not valid that was supplied for QueueManager 'LOROL' with connection mode 'Client' and host name 'xx.xx.xx.xx'. Please check if the supplied username and password are correct on the QueueManager you are connecting to)

这个问题很明显是用户权限验证失败。然而我查了《WebSphere MQ Using Java.pdf》中关于Administering JMS objects的ProPerty(也就是tomcat中对应resource的属性),没有关于用户名和密码的配置。

 

最终还是在放国外一个论坛的时候发现了一个兄弟的回答,可能需要在对应的通道上设置MAC(之前都是放空的).于是远程到MQ5.3上给了对应通道一个MAC:MUSR_MQADMIN。 消息可以正常接收了。

 

结论: JMS1.1可以正常连接MQ低版本(MQ5.3).同时证明,MQ7的JAVA依赖包完全可以用来连接低版本的MQ5.3,而不像许多查到的资料中所述不能连接。

 

(注:最后一次正常的连接我额外放入了com.ibm.mqetclient.jar,有可能这个也起到作用。不过连接MQ7版本是不用这个jar包的)

 

 

0
7
分享到:
评论
1 楼 nannan408 2013-04-15  
楼主,国外的那个论坛,能否提供下地址?谢谢 。

相关推荐

    JMS1.1规范(中文)

    JMS1.1规范是该API的一个版本,提供了标准接口,使得不同的消息中间件(Message Oriented Middleware,MOM)提供商能够实现互操作性,确保应用程序可以在不同平台之间无缝地发送和接收消息。 JMS1.1规范的核心概念...

    jms1.1.jar.zip

    在这个压缩包"jms1.1.jar.zip"中,包含的核心文件是"javaMessageServer",这通常是指一个实现了JMS规范的服务端组件。 一、JMS 1.1基础知识 1. JMS模型:JMS定义了两种基本的消息模式——点对点(Point-to-Point,...

    jms-1.1.jar

    《JMS 1.1 API详解与应用实践》 Java消息服务(Java Message Service,简称JMS)是Java平台中用于企业级应用间异步通信的一种标准接口。JMS 1.1是其一个重要的版本,它为分布式系统中的应用程序提供了一种可靠的...

    JMS 1.1 API JAVADOC 中文版 chm

    JMS 1.1 API是这个规范的一个版本,提供了在分布式环境中发送和接收消息的机制,它是Java应用程序与其他系统进行交互的重要工具,尤其在处理大量并发和数据传输时。 JMS 1.1 API文档主要包含了以下关键概念和接口:...

    JMS1.1 规范有中文和英文版本

    JMS1.1是该规范的一个重要版本,为开发人员提供了一套统一的消息传递模型,以实现异步通信和解耦系统组件。 JMS1.1规范的核心概念包括消息、生产者、消费者、队列和主题。消息是数据传输的基本单位,它可以是文本、...

    EJB javaEE5 JMS1.1 JSP2.1规范中文版

    5. **JMS1.1规范**是Java消息服务的版本,定义了应用程序如何创建、发送、接收和读取消息。JMS提供了异步通信的能力,允许应用程序在不阻塞的情况下交换数据,是企业级系统中实现解耦和可靠消息传递的重要工具。 6....

    jms-1.1.jar(jms工具jar包)

    在实际应用中,`javax.jms-1.1.jar` 提供了JMS API的实现,开发人员可以使用这些API创建消息、连接到消息代理、创建生产者和消费者,以及进行消息的发送和接收。例如,使用`ConnectionFactory`创建连接工厂,然后...

    jms 1.1源码&中英文api

    JMS 1.1是该规范的一个版本,它为开发人员提供了发送和接收消息的能力,这些消息可以在分布式环境中可靠地传递。源码分析对于理解其内部工作原理和实现自己的消息传递解决方案至关重要。 在提供的资源中,有两个CHM...

    JMS1.1规范 中文版

    "aybook.cn_jisnmijumejdc1014.pdf"可能就是JMS1.1规范的中文翻译文件,读者可以通过它深入了解JMS接口的详细用法,包括连接工厂、会话、消息生产者、消息消费者、消息和目的地等关键对象的创建与操作。同时,"E书...

    geronimo-jms-1.1-spec-1.1.1-API文档-中英对照版.zip

    赠送jar包:geronimo-jms_1.1_spec-1.1.1.jar; 赠送原API文档:geronimo-jms_1.1_spec-1.1.1-javadoc.jar; 赠送源代码:geronimo-jms_1.1_spec-1.1.1-sources.jar; 包含翻译后的API文档:geronimo-jms_1.1_...

    javax.jms-1.1.jar

    1. **JMS概述**:JMS提供了一个统一的接口,使得开发者可以使用多种不同的消息中间件(如IBM WebSphere MQ、Apache ActiveMQ等)。通过JMS,开发人员能够编写不依赖于特定消息服务提供商的应用程序,实现跨平台和跨...

    JMS1.1规范中文版

    ### JMS 1.1 规范中文版详解 #### 一、引言与概述 **JMS 1.1规范**是针对Java应用程序的消息传递系统制定的一套标准,其目的是确保不同消息传递系统之间的互操作性和移植性。随着Java技术在企业级应用中的普及,...

    JMS调用IBM MQ监听模式

    2. **IBM MQ连接**:配置IBM MQ的连接参数,如主机名、端口号、队列管理器名、通道名和凭证信息,以建立到MQ的连接。 3. **创建QueueConnectionFactory**:使用JMS API的ConnectionFactory类创建一个连接工厂,以便...

    JMS1.1规范培训教程&&spring框架

    - **ConnectionFactory**:创建连接到JMS提供者的对象。 - **Connection**:代表与JMS提供者的会话,可创建Session。 - **Session**:线程安全的工作单元,用于创建生产者和消费者,以及发送和接收消息。 - **...

    《JMS 1.1 规范》-电子文档下载(PDF)(中文)

    作者:卫建军 Java 是当前 IT 领域中比较流行的技术之一。J2EE 是当前比较流行的企业级应用架构。 本人一直致力于 J2EE 架构的学习和研究,但是总是对英文文档...持久化规范》和《JMS1.1 规范》。希望对大家有所帮助。

    WebsphereMQ.rar_JMS MQ_MQ_MQ JMS_java mq jms_websphereMQ downloa

    总结起来,"用jms向WebSphere mq里发送消息"涉及了JMS和WebSphere MQ的集成,涵盖了消息中间件的基本原理、JMS API的使用,以及WebSphere MQ的配置和连接。掌握这些知识点对于构建可扩展、可靠的分布式系统至关重要...

    Ibm - Websphere Mq Using Java (v5.3), 3Rd Ed - 2004 - (By Laxxuss).pdf

    **1.1 WebSphere MQ Java 类** - **定义**:WebSphere MQ Java 类是指一系列用于实现与 WebSphere MQ 交互的 Java API。这些类允许开发者在 Java 应用程序中实现消息队列的功能。 - **应用场景**:通常用于客户端...

    geronimo-jms_1.1_spec-1.0.jar

    geronimo-jms_1.1_spec-1.0.jar

Global site tag (gtag.js) - Google Analytics