UIMA
  1. UIMA
  2. UIMA-2372

On lost connection to a broker UIMA AS Spring JMS listener excessively logs error msgs

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.4.0AS
    • Component/s: Async Scaleout
    • Labels:
      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.

        Activity

        Hide
        Jerry Cwiklik added a comment -

        Increased Spring JMS Listener recovery interval from 5 sec to 30 secs. The interval defines amount of time the listener will sleep before attempting jms connection recovery.

        Show
        Jerry Cwiklik added a comment - Increased Spring JMS Listener recovery interval from 5 sec to 30 secs. The interval defines amount of time the listener will sleep before attempting jms connection recovery.
        Hide
        Jerry Cwiklik added a comment -

        Increase the connection recovery interval from 5ms to 30000ms. The current setting seems excessive possibly leading to high CPU utilization.

        Show
        Jerry Cwiklik added a comment - Increase the connection recovery interval from 5ms to 30000ms. The current setting seems excessive possibly leading to high CPU utilization.

          People

          • Assignee:
            Jerry Cwiklik
            Reporter:
            Jerry Cwiklik
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development