java - CAMEL JMS 崩溃并停止生成消息

标签 java apache-camel jms activemq camel-jms

上周我们在 ESB Camel JMS 上遇到了生产问题,我们在 FUSE 服务器上部署了多个微服务。一项已安装的服务中发生以下异常,导致所有其他服务停止生成 AMQ 消息。

    04:34:30,584 | INFO  | 4.201:9003@36050 | PooledConnectionFactory          | 219 - org.apache.activemq.activemq-osgi - 5.11.0.redhat-630187 | Expiring connection ActiveMQConnection {id=ID:jxf2pap1-38030-1541147693149-21:138801,clientId=ID:jxf2pap1-38030-1541147693149-20:138800,started=false} on IOException: Unexpected error occurred: java.lang.IllegalStateException: Timer already cancelled.
04:34:30,585 | ERROR | [ ] | DefaultErrorHandler              | 232 - org.apache.camel.camel-core - 2.17.0.redhat-630187 | Failed delivery for (MessageId: ID-jxf2pap1-37890-1541147693904-3-2612818 on ExchangeId: ID-jxf2pap1-37890-1541147693904-3-2612816). Exhausted after delivery attempt: 1 caught: org.springframework.jms.IllegalStateException: javax.jms.JMSException: Disposed due to prior exception; nested exception is javax.jms.IllegalStateException: javax.jms.JMSException: Disposed due to prior exceptionn  | n  | Message Historyn  | ---------------------------------------------------------------------------------------------------------------------------------------n  | RouteId              ProcessorId          Processor                                                                        Elapsed (ms)n  | [start_ITV         ] [start_ITV         ] [activemq://T2_ESB_ITV_INQ                                                     ] [        19]n  | [start_ITV         ] [process75         ] [ref:eventProcessor                                                            ] [         0]n  | [start_ITV         ] [dynamicRouter36   ] [dynamicRouter[bean[ref:processorSender method:sendToEndpoint]]                ] [        20]n  | n  | Stacktracen  | ---------------------------------------------------------------------------------------------------------------------------------------
org.springframework.jms.IllegalStateException: javax.jms.JMSException: Disposed due to prior exception; nested exception is javax.jms.IllegalStateException: javax.jms.JMSException: Disposed due to prior exception

只有 JMS 生产者失败,消费者处于 Activity 状态并消费消息。

请大家就这个问题提出建议,谢谢。

最佳答案

您拥有什么版本的 activemq?在 5.10 之前,executePeriodically() 方法未同步,但会修改计时器任务映射。我认为他们之后已经解决了。

关于java - CAMEL JMS 崩溃并停止生成消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53518323/

相关文章:

java - 适合后期订阅者的 Camel Activemq 主题

Apache Camel CXF : add TlsClientParameters programmatically

java - 在 Apache Camel 中使用相同的 url 但不同的 http 方法发出 REST 请求时没有响应

java - 不终止的 JMS 客户端

java - 使用 Spring Boot 为我的 Web 服务器创建客户端库,该库在 Android 应用程序中使用

来自 Google Play 控制台的 java.lang.IllegalStateException 崩溃报告

java - jEditorPane 作为网络浏览器

java - 如何在 JPanel 的 mouselistener 类中注册两个点?

java - Griffon JMS 插件

java - ActiveMQ SSL 连接 keystore 和信任库类型