gpt4 book ai didi

java - 启动 MQ Listener 时出现 MQJCA1025 错误

转载 作者:行者123 更新时间:2023-12-02 11:47:15 25 4
gpt4 key购买 nike

在 IBM-MQ 上启动异步监听器/读取器时出现 MQJCA1025 错误 -

com.ibm.msg.client.jms.DetailedIllegalStateException: MQJCA1025: The message consumer must not have a message listener. An application attempted to set a message listener for a JMS message consumer. This exception occurs only if the application is running in a managed environment. Modify the application so that it does use a message listener.

下面是完成监听器设置的 init 方法 -

  public void init(){
ConnectionFactory qConnectionFactory = null;
Connection connection = null;
try{
Context ctx = new InitialContext();
qConnectionFactory = (ConnectionFactory) ctx.lookup("java:jboss/Connection");
Destination receiverQueue = null;
if(null != qConnectionFactory){
connection = qConnectionFactory.createConnection();
if(null !=connection){
receiverQueue = (Destination) ctx.lookup("java:jboss/RESPONSE");
if(null != receiverQueue){
Session session = connection.createSession(false,Session.AUTO_ACKNOWLEDGE);
if(null != session){
MessageConsumer consumer = session.createConsumer(receiverQueue);
consumer.setMessageListener(this);
connection.start();
}
}
}
}
}
catch(Exception e){
System.out.println(e);
}
}

IBM 决议 http://www-01.ibm.com/support/docview.wss?uid=swg21610734没有提到要在监听器/客户端进行的修复

最佳答案

MQJCA1025 错误消息表明请勿执行以下操作:

consumer.setMessageListener(this);

您给出的链接非常清楚:

原因

在托管环境中调用 setMessageListener() 方法违反了 J2EE 规范,因此不应使用。

解决问题

您的 JMS 应用程序需要更改为不调用 setMessageListener() 方法。 相反,为此方法提供的功能提供了激活规范

关于java - 启动 MQ Listener 时出现 MQJCA1025 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48109487/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com