Uploaded image for project: 'ActiveMQ'
  1. ActiveMQ
  2. AMQ-3776

synchronization error in MessageListenerServlet.getAjaxWebClient

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 5.5.0
    • Fix Version/s: 5.6.0
    • Component/s: None
    • Labels:
      None

      Description

      Note: I found this problem by reading code, not by an actual behavior problem!

      In the latest revision of MessageListenerServlet.getAjaxWebClient() you can see that the ajaxWebClients map is read outside of a synchronized block and then edited inside the block. This looks like a simple mistake, and the get() should be moved down one line.

      http://svn.apache.org/viewvc/activemq/trunk/activemq-web/src/main/java/org/apache/activemq/web/MessageListenerServlet.java?revision=1177026&view=markup#l438

      Theoretically, the downside of this bug will be that new clients will be unnecessarily created if a single web session connects to the servlet from two or more concurrent connections. In practice, this almost never happens because most ajax users of ActiveMQ should have only one connection in flight at a time.

        Attachments

          Activity

            People

            • Assignee:
              tabish Timothy A. Bish
              Reporter:
              cdolan Chris Dolan

              Dates

              • Created:
                Updated:
                Resolved:

                Issue deployment