SimpleMessageListenerContainer 停止后未恢复
SimpleMessageListenerContainer is not recover after stoping it
当某个事件到来时,我使用 container.stop();
停止我的 rabbitmq listner
,在完成所需的工作后,我用 container.start()
重新启动它,但是当一个新事件到来时,我收到以下错误:
Exception in thread "SimpleAsyncTaskExecutor-1" 2016-04-22T16:20:53.646 WARN 15336 --- [cTaskExecutor-1] o.s.a.r.l.SimpleMessageListenerContainer : Consumer raised exception, processing can restart if the connection factory supports it
java.lang.NullPointerException: null
at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.isActive(SimpleMessageListenerContainer.java:756) ~[spring-rabbit-1.4.3.RELEASE.jar:na]
at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.access0(SimpleMessageListenerContainer.java:82) ~[spring-rabbit-1.4.3.RELEASE.jar:na]
at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer$AsyncMessageProcessingConsumer.run(SimpleMessageListenerContainer.java:1100) ~[spring-rabbit-1.4.3.RELEASE.jar:na]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_77]
它实际上是一个无害(但可怕)的日志消息,但它是 fixed in 1.5.3。
如所述:
It's generally better to stop the container on a separate thread.
因为在侦听器退出之前容器无法完全停止。
当某个事件到来时,我使用 container.stop();
停止我的 rabbitmq listner
,在完成所需的工作后,我用 container.start()
重新启动它,但是当一个新事件到来时,我收到以下错误:
Exception in thread "SimpleAsyncTaskExecutor-1" 2016-04-22T16:20:53.646 WARN 15336 --- [cTaskExecutor-1] o.s.a.r.l.SimpleMessageListenerContainer : Consumer raised exception, processing can restart if the connection factory supports it
java.lang.NullPointerException: null
at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.isActive(SimpleMessageListenerContainer.java:756) ~[spring-rabbit-1.4.3.RELEASE.jar:na]
at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.access0(SimpleMessageListenerContainer.java:82) ~[spring-rabbit-1.4.3.RELEASE.jar:na]
at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer$AsyncMessageProcessingConsumer.run(SimpleMessageListenerContainer.java:1100) ~[spring-rabbit-1.4.3.RELEASE.jar:na]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_77]
它实际上是一个无害(但可怕)的日志消息,但它是 fixed in 1.5.3。
如
It's generally better to stop the container on a separate thread.
因为在侦听器退出之前容器无法完全停止。