当前位置: 首页 > 面试题库 >

JMS消息侦听器的执行失败,并且未设置ErrorHandler

斜光耀
2023-03-14
问题内容

当我使用Spring收听JMS消息时,我收到了以上错误。

我想知道如何将错误处理程序添加到JMS侦听器中?


问题答案:

上有一个物业AbstractMessageListenerContainer

<bean id="listener" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
    <property name="errorHandler" ref="someHandler"/>
    <property name="destinationName" value="someQueue"/>
    <property name="connectionFactory" ref="connectionFactory"/>
</bean>

someHandlerbean
在哪里实现ErrorHandler

@Service
public class SomeHandler implements ErrorHandler {

    @Override
    public void handleError(Throwable t) {
        log.error("Error in listener", t);
    }
}

但是请注意,根据文档:

该消息侦听器的默认行为将 在错误级别记录任何此类异常
。[…]但是,如果必须进行错误处理,则可以将错误处理程序策略的任何实现提供给setErrorHandler(ErrorHandler)方法。

检查您的日志,也许已经记录了异常?



 类似资料:
  • 我有一个Spring应用程序在独立的JBoss EAP 6.2中运行(带有嵌入式HornetQ提供程序)。 消息被成功地放在队列中(我可以在jboss eap-6.2\独立\data\MessagingJournal\hornetq-data-1.hq中看到它们,因为队列是持久的),但不会被侦听器拾取(侦听器中的断点不会被命中)。我怀疑配置中缺少或错误的东西,但看不出是什么。JBoss启动时没有任

  • 问题内容: 我正在使用spring amqp rabbitmq,并使用 我的消息处理程序是 我已经用钩住了 但是我变得无法执行 生产者端的replyHandler也有类似的问题 另外,如果importExchange中有任何异常,如何在ReplyHandler中获取异常? 问题答案: 由于您正在使用POJO收听消息,因此您无法处理消息。 您应该接受消息正文(在您的情况下),并返回适合于回复消息正文

  • 我正在使用 发送和 对于现在从rappid mq接收消息,我希望使用类似以下内容的侦听器: 问题是onMessage监听器与Messages一起工作是否有可能在类似的函数中接收简单的可序列化对象?

  • 该应用程序使用Spring JMS Listener连接到JMS队列,并在WAS 8.5中部署。x、 使用spring应用程序上下文xml,bean用初始化,目标为。 在class方法中,代码试图使用查找JNDI引用,代码片段如下, 应用程序在处理消息时抛出以下异常。 例外:javax。命名。ConfigurationException:无法完成“java:”名称上的JNDI操作,因为服务器运行时

  • 1天前 嗨,当试图根据http://wso2.org/project/esb/java/4.0.3/docs/samples/transport_samples.html/sample250使用wso2 esb侦听来自JMS队列的消息时,我遇到了一个异常,如下所示 XML解析错误:格式不正确的位置: org.apache.axis2.axisfault:系统无法从jms://jmslistener

  • 在与JMS合作的过程中,我有一个疑问。据我所知,创建同步消息消费者是可能的。但是,我必须以一定的频率启动它,因为事实上没有侦听器。接下来,为了同步使用队列中的消息,我可以创建一个MDB并将池设置为1。我认为这不是一个好的解决办法。 我的目标是在消息出现在队列中时同步地使用它们。从我的观点来看,上述解决方案并不好:1。不时推出的消费者。2.MDB(通常异步)和池设置为1。 有什么适合我的解决方案吗?