【问题标题】:Error instantiating MQ ConnectionFactory object实例化 MQ ConnectionFactory 对象时出错
【发布时间】:2016-08-16 04:42:24
【问题描述】:

首先,我想为这里的一些杂乱无章的文章道歉。我正在编写一个 Spring Boot 应用程序以从 MQ 队列中读取消息。但是在尝试创建 MQXAConnectionFactory 对象的实例时遇到异常。我已经意识到这是因为MQXAConnectionFactory extends com.ibm.msg.client.jms.admin.JmsJndiConnectionFactoryImpl.

代码sn-p

    @Value("${ems.mq.cf.hostName}")
    String mqHostName;
    @Value("${ems.mq.cf.port}")
    int mqPort;
    @Value("${ems.mq.cf.queueManager}")
    String mqQueueManager;
    @Value("${ems.mq.cf.channel}")
    String mqChannel;

    private ConnectionFactory mqJmsConnectionFactory() throws JMSException{

    try {

    MQXAConnectionFactory factory=new MQXAConnectionFactory();
    factory.setHostName(mqHostName);
    factory.setPort(mqPort);
    factory.setQueueManager(mqQueueManager);
    factory.setChannel(mqChannel);
    factory.setTransportType(WMQConstants.WMQ_CM_CLIENT);
    return factory;
    }
    catch (JMSException e){
        throw new RuntimeException(e);
    }

}

问题是com.ibm.msg.client.jms.admin 包不存在于我在类路径中设置的任何 jar 中。 IBM 网站中建议的解决方案如下所示也无济于事。

The type com.ibm.msg.client.jms.admin.JmsJndiDestinationImpl
cannot be resolved. It is indirectly referenced from required .class files.

本地修复

 Import the com.ibm.msg.client.jms.internal from
    wmq.jmsra.rar and add it to the build path.
    You can find the rar file under <WPS_HOME>\lib\WMQ\ra

但这对我来说不是一个选项,因为我使用的是本地 tomcat 服务器,并且在我的类路径中包含该文件对我来说不是一个选项。

以下 ibm jar 在我的课程路径中

1. mqjms-7.0.1.0.jar, 
2. ibm-mq-7.0.1.0.jar
3. client.osgi.jms.jar

对此的任何帮助将不胜感激。合十

【问题讨论】:

    标签: java tomcat spring-boot ibm-mq mq


    【解决方案1】:

    我终于找到了问题所在。 使用版本 6 或更旧的 com.ibm.mq.jar 和 com.ibm.mqims.jar。

    然后添加connector.jar 这似乎是最重要的。我从 mqseries.net 获得了这个解决方案来添加连接器 jar

    http://www.mqseries.net/phpBB2/viewtopic.php?t=40546

    由 gaya3 发布

    请在构建路径中添加connector.jar,jta.jar(connector.jar在那里)(看起来connector.jar可能已损坏或没有所有访问权限)

    检查访问权限是否可以这样做

    下面的 jar 文件必须在类路径中

    1. com.ibm.mq.jar
    2. com.ibm.mqims.jar
    3. connector.jar(重要)
    4. jms.jar

    【讨论】:

      猜你喜欢
      • 2011-03-21
      • 2010-11-05
      • 1970-01-01
      • 2016-05-19
      • 2023-03-24
      • 1970-01-01
      • 2019-11-01
      • 1970-01-01
      • 2018-07-02
      相关资源
      最近更新 更多