0

Java コード (ローカル マシン内) からメッセージをキューに入れようとしています。エラーが発生しています:

java.lang.UnsatisfiedLinkError: java.library.path に mqjbnd05 がありません。

これは私のコードです:

qMgr = new MQQueueManager(qManager);
int openOptions = MQC.MQOO_INPUT_AS_Q_DEF | MQC.MQOO_OUTPUT ;

MQQueue queue = qMgr.accessQueue("Q1",openOptions); 
MQMessage msg = new MQMessage();
msg.writeUTF("this is a test message"); 

MQPutMessageOptions pmo = new MQPutMessageOptions();
queue.put(msg, pmo); 

MQMessage retrievedMessage = new MQMessage();
retrievedMessage.messageId = msg.messageId;

MQGetMessageOptions gmo = new MQGetMessageOptions();
queue.get(retrievedMessage, gmo);
String msgText = retrievedMessage.readUTF();
System.out.println("The message is: " + msgText);

queue.close();
qMgr.disconnect();

私のキュー マネージャーはQM_FORD、キュー名は Q1 です。リスナー ポートは 1414 です。環境変数は適切に設定されています。誰でもこれについて私を案内してもらえますか?

4

2 に答える 2

1

問題は Java コードにはありません。Unsatisfied Link エラーは、ネイティブ ライブラリ (Windows では .dll、Unix では .so) が見つからないことを意味します。存在しないか、環境変数で参照されていません: PATH (Windows) または LD_LIBRARY_PATH または LIBPATH など、これがどのオペレーティング システムにあるかによって異なります。

グーグルはあなたにいくつかのアイデアを与えるかもしれません

于 2012-05-24T12:34:40.560 に答える
0

ここでの問題は、LIBRARY PATH がないことです。LD_LIBRARY_PATH を "MQ_INSTALLATION_DIR"/java/lib (Unix の場合) に設定します。

于 2014-02-26T16:40:13.030 に答える