1

上周我们在 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 生产者失败,消费者处于活动状态并已消费消息。

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

4

1 回答 1

0

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

于 2018-11-28T11:44:19.727 回答