2016-04-22 5 views
0

Wenn ein bestimmtes Ereignis eintrifft, stoppe ich meine rabbitmq listner mit container.stop(); und nach der benötigten Arbeit erledigt ist, ich starten Sie ihn mit container.start(), aber wenn ein neues Ereignis eintrifft, bekomme ich folgende Fehlermeldung:SimpleMessageListenerContainer wird nicht mehr erholen, nachdem stoping es

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.access$600(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] 

Antwort

1

Es ist eigentlich eine harmlose (aber unheimlich) log message, aber es ist fixed in 1.5.3.

Wie in this answer erwähnt:

It's generally better to stop the container on a separate thread.

da der Behälter nicht vollständig, bis die Zuhörer Ausfahrten stoppen.

+0

Siehe die Bearbeitung meiner Antwort (ich bin mir nicht sicher, ob SO Sie über meine Änderungen benachrichtigt). –

+0

Ich sah, dass der Fehler harmlos ist, weil alles gut funktioniert. – Paul

Verwandte Themen