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 Error 表示未找到本机库(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 回答