上周我们在 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 生产者失败,消费者处于活动状态并已消费消息。
请就这个问题提出建议,谢谢。