0

尝试配置 WMQ XA 连接工厂,如

<bean id="ibmOetConnectionFactoryXA" class="com.ibm.mq.jms.MQXAConnectionFactory">
    <property name="transportType" value="0"/>
    <property name="queueManager" value="DISASTER"/>
</bean>

我已将 mqjexitstub02.dll、PgmIpLayer.dll 和 mqjbnd.dll 复制到 $PATH 目录之一 ($JAVA_HOME/bin),但异常

Caused by: java.lang.UnsatisfiedLinkError: C:\dev\jdk1.6.0_39\bin\mqjbnd.dll: Can't find dependent libraries
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1807)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1732)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1028)
at com.ibm.mq.jmqi.local.LocalMQ.loadLib(LocalMQ.java:1008)
at com.ibm.mq.jmqi.local.LocalMQ$1.run(LocalMQ.java:273)

提高。

这是我的 cygwin ldd

$ ldd ~/dev/jdk1.6.0_39/bin/mqjbnd.dll
    ntdll.dll => /cygdrive/c/WINDOWS/system32/ntdll.dll (0x7c900000)
    kernel32.dll => /cygdrive/c/WINDOWS/system32/kernel32.dll (0x7c800000)
    ??? => ??? (0x1c000000)

看起来像问题???=> ??? (0x1c000000)。任何人都可以帮助解决这个问题?

4

1 回答 1

1

我已将 mqjexitstub02.dll、PgmIpLayer.dll 和 mqjbnd.dll 复制到 $PATH 目录之一 ($JAVA_HOME/bin),但异常

你不能那样做。以“绑定模式”连接意味着您有一个队列管理器在与您的应用程序相同的服务器上运行。切勿在服务器之间复制 MQ DLL (Windows) 或共享库 (Unix/Linux)。它不起作用,您将花费数小时浪费您的时间。

如果您想以“绑定模式”连接,则安装 MQ 服务器软件并创建并启动队列管理器。

如果您对正在做的事情感到困惑,那么很可能您尝试连接到另一台服务器上的队列管理器 - 这称为“以客户端模式连接到队列管理器”。因此,安装 MQ 客户端软件,一切正常。

于 2013-07-03T17:01:18.513 回答