首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用CCDT 64位的Tomcat到MQ服务器连接

问使用CCDT 64位的Tomcat到MQ服务器连接
EN

Stack Overflow用户
提问于 2014-03-27 03:49:21
回答 2查看 2.3K关注 0票数 0

我需要一些帮助,让我的Tomcat安装(构建在64位Java上)使用CCDT文件连接到MQ。MQ是一个7.0.0.9版本的64安装。到目前为止,我在应用程序日志中得到了以下错误消息-

代码语言:javascript
复制
Caused by: com.ibm.mq.jmqi.local.LocalMQ$3: CC=2;RC=2495;AMQ8598:
-----------------------------------------------------------------------
| Failed to load the WebSphere MQ native JNI library: 'mqjbnd'.
|
| The JVM attempted to load the platform native library 'mqjbnd',
| which was mapped to the filename: 'libmqjbnd.so'.
|
| When attempting to load the library, the JVM reported the error
| message:
| 'no mqjbnd in java.library.path'
|
| The JVM's bit-size is: '64'
|
| The library path which was used to locate this library was:
| '*** Configured java.library.path **********************************
|  "/opt/mqm/java/lib64"
| ********************************************************************'

我试过的步骤如下-

下载并安装了64位MQ客户端

代码语言:javascript
复制
dspmqver -a
Name:        WebSphere MQ
Version:     7.0.1.11
CMVC level:  p701-111-130925
BuildType:   IKAP - (Production)
Platform:    WebSphere MQ for Linux (x86-64 platform)
Mode:        64-bit
O/S:         Linux 2.6.32-358.2.1.el6.x86_64
AMQ8351: WebSphere MQ Java environment has not been configured correctly.

作为Tomcat安装的setenv.sh文件的一部分,我配置了以下内容。MQ相关部分以红色高亮显示。

代码语言:javascript
复制
export JAVA_OPTS="$JAVA_OPTS -Djava.library.path=/opt/mqm/java/lib64"
CLASSPATH=$CLASSPATH:/opt/mqm/java/lib/com.ibm.mq.jar:/opt/mqm/java/lib/com.ibm.mqjms.jar

export ORACLE_HOME=/apps/oracle/product/11.1.0.7.CL
export LD_LIBRARY_PATH=/apps/oracle/product/11.1.0.7.CL/jdbc/lib/:/apps/install/tomcat-native/lib/

export MQCHLLIB=/apps/install/tomcat7/shared
export MQCHLTAB=AMQCLCHL.TAB
export MQ_JAVA_INSTALL_PATH=/opt/mqm/java
export MQ_JAVA_DATA_PATH=/var/mqm
export MQ_JAVA_LIB_PATH=/opt/mqm/java/lib64

export JAVA_HOME=/apps/install/java/jre1.7.0_45
export JAVA_BINDIR=$JAVA_HOME/bin
export PATH=$JAVA_BINDIR:$PATH

关于如何解决这个问题的思考?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-27 18:50:05

谢谢罗杰!

将其添加到tomcat应用程序的context.xml中。

代码语言:javascript
复制
<Resource
  name="jms/MyConnectionFactory"
  auth="Container"
  type="com.ibm.mq.jms.MQQueueConnectionFactory"
  factory="com.ibm.mq.jms.MQQueueConnectionFactoryFactory"
  description="JMS Queue Connection Factory for sending messages" 
  CCDTURL="file:///apps/install/tomcat7/shared/AMQCLCHL.TAB" 
  QMGR="MYQM />

此外,还注释掉了setenv.sh中的以下两行

代码语言:javascript
复制
#export MQCHLLIB=/apps/install/tomcat7/shared
#export MQCHLTAB=AMQCLCHL.TAB

..and所有的东西都运行得很完美。非常感谢你在这方面的帮助!

票数 0
EN

Stack Overflow用户

发布于 2014-03-27 17:09:51

未能加载WebSphere MQ本机JNI库:'mqjbnd‘。

此错误消息告诉您,MQ客户端库试图以“绑定”(而非客户端)模式连接到本地(非远程)队列管理器,并且无法找到所需的共享库。

您设置了MQCHLLIB和MQCHLTAB,但是Java/JMS层并不在意。您需要使用MQ,或者指定其中的所有连接信息,或者添加一个条目来指向您的CCDT。

代码语言:javascript
复制
create CF(CF_TEST)
alter CF(CF_TEST) TRANSPORT(CLIENT)
alter CF(CF_TEST) CCDT(file:///apps/install/tomcat7/shared AMQCLCHL.TAB)

有关使用CCDT文件的MQ/JMS的更多信息,请参见:

http://www-01.ibm.com/support/docview.wss?uid=swg27020862

barrago.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22677896

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档