Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
Description
When UIMA AS service loses a connection to a broker, its JMS listener rapidly fills a log with messages:
0 Feb 2012 12:33:33,598 WARN UIMA AS Service.UimaDefaultMessageListenerContainer - Could not refresh JMS Connection for destination 'queue://<queue name>' - retrying in 5 ms. Cause: Could not connect to broker URL:
tcp://<broker url>:61616?wireFormat.maxInactivityDuration=0. Reason: java.net.ConnectException: Connection refused
I've traced the origin of this message to Spring Framework's DefaultMessageListenerContainer.java, refreshConnectionUntilSuccessful() method. Spring is attempting to auto recover the connection by continually testing broker connection until success. Each failure results in a log msg at WARNING level.
To fix this, UimaDefaultMessageListenerContainer should override Spring's refreshConnectionUntilSuccessful() with its own implementation which logs the error once and silently retries until success.