我正在從Mq 7.0版遷移到7.5。我能夠通過使用ejb - 消息驅動Bean(MDB)的入站隊列接收消息,但在處理消息之後發佈消息。我正在獲取IBM MQRC 2082 MQRC_UNKOWN_ALIAS_BASE_Q異常。從mq 7.0版遷移到7.5
這是我收到的例外:
產生的原因:javax.jms.InvalidDestinationException:MQJMS2008:未能 開放MQ隊列 'OFS.TIG_IND2NSE_MSG'。 at com.ibm.msg.client.wmq.v6.jms.internal.MQQueueServices.getQueueOpenException(MQQueueServices.java:901) at com.ibm.msg.client.wmq.v6.jms.internal.MQQueueServices.getOutputQueue( MQQueueServices.java:727) at com.ibm.msg.client.wmq.v6.jms.internal.JMSServicesMgr.getOutputQueue(JMSServicesMgr.java:210) at com.ibm.msg.client.wmq.v6.jms。 internal.MQSession.createQProducer(MQSession.java:3138) at com.ibm.msg.client.wmq.v6.jms.internal.MQSession.createProducer(MQSession.java:2863) at com.ibm.msg.client。 wmq.v6.jms.internal.MQSession.createProducer(MQSession.java:2920) at com.ibm.msg.client.jms.internal.JmsSessionImpl.createProducer(JmsSessionImpl.java:1191) at com.ibm.msg。 client.jms.internal.JmsXAQueueSessionImpl $ 1.createSende R(JmsXAQueueSessionImpl.java:415) 在com.ibm.mq.jms.MQQueueSession.createSender(MQQueueSession.java:148) 在weblogic.deployment.jms.WrappedSession.createSender(WrappedSession.java:344) 在融爲一體。 tiger.gmfs.framework.jms.QUtil.getSender(QUtil.java:216) 在com.tiger.gmfs.framework.jms.QUtil.sendMessage(QUtil.java:110)
的一段代碼我寫的是: 這是我getSender方法: 保護QueueSender getSender()拋出JavaMessagingException, {的JMSException
QueueSender sender = null;
queue = qsess.createQueue(qVO.getName());
sender = qsess.createSender(queue);
if (sender == null)
throw new JavaMessagingException("The queue sender is null.");
sender.setPriority(qVO.getPriority());
return sender;
}
,這是我的sendMessage方法:
public void sendMessage(Message jmsMessage) throws JavaMessagingException,
JMSException {
QueueSender sender = null;
try {
sender = getSender();
sender.send(jmsMessage);
} catch (JMSException j) {
Exception l = j.getLinkedException();
if (l != null) {
JavaMessagingException be = new JavaMessagingException(
"JMSErrCode:" + l + " Code:" + j.getErrorCode()
+ " Message: " + jmsMessage, j);
throw be;
} else
throw new JavaMessagingException(j);
}catch(Exception e1){
System.out.println(e1);
}finally {
if (sender != null) {
sender.close();
TracingHelper.infoLog(QUtil.class, "sendMessage",
"Closed sender");
}
}
}
什麼樣的變化,我應該在這裏,我的代碼工作嗎?
我已經實現了相同的代碼在JRE 1.7 + weblogic的12C完美的作品,但是當我改成了JRE 1.6 + weblogic的11g中,我得到這個錯誤。
您正在使用的MQ隊列管理器的版本是什麼?您在weblogic中使用的MQ客戶端版本是什麼?您是否使用MQ JCA RA? –
MQ客戶端版本是7.0 + Weblogic 11g +不,我們沒有使用MQ JCA RA –