2013-07-03 3 views
0

IBM WMQ 바인딩 전송 유형 JNI 오류

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

내가 mqjexitstub02.dll, PgmIpLayer.dll을 복사 한 다음 $ PATH 디렉토리 중 하나 ($ JAVA_HOME에 mqjbnd.dll 같은 WMQ XA 연결 팩토리를 구성하려고

/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) 

발생했습니다. 여기

$ 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) 

이의 문제처럼 보인다 내 Cygwin에서의 LDD입니까 ??? => ??? (0x1c000000). 누구든지이 문제를 해결할 수 있습니까?

답변

1

내가 mqjexitstub02.dll, PgmIpLayer.dll 및 중 하나는 $ PATH 디렉터리 ($ JAVA_HOME/빈)에 mqjbnd.dll하지만 예외가

당신은 그렇게 할 수 없습니다 복사 한 . "바인딩 모드"로 연결한다는 것은 응용 프로그램과 동일한 서버에서 실행중인 큐 관리자를 가짐을 의미합니다. 서버간에 MQ DLL (Windows) 또는 공유 라이브러리 (Unix/Linux)를 복사하지 마십시오. 그것은 작동하지 않을 것이며 당신은 시간을 낭비하는 시간을 보낼 것입니다.

"바인딩 모드"로 연결하려면 MQ 서버 소프트웨어를 설치하고 & 큐 관리자를 시작하십시오.

현재 수행중인 작업으로 혼란 스러울 경우 다른 서버의 큐 관리자에 연결하려고 할 가능성이 높습니다.이를 "클라이언트 모드에서 큐 관리자에 연결"이라고합니다. 따라서 MQ 클라이언트 소프트웨어를 설치하면 모든 것이 작동합니다.

+0

안녕하세요. 예, 그렇습니다. 그리고 WMQ 관리자 설치를 수행했습니다. 나는이 문제를 해결했다. 문제는 내가 IDE를 다시 시작하지 않았고, 따라서 $ PATH가 업데이트되지 않았고 java.library.path도 마찬가지였다. 그러나 귀하의 회신에 감사드립니다. – user1582639