Jerry Cwiklik created UIMA-4830:
-----------------------------------

             Summary: UIMA-AS: refactor SharedConnection code in the client
                 Key: UIMA-4830
                 URL: https://issues.apache.org/jira/browse/UIMA-4830
             Project: UIMA
          Issue Type: Bug
          Components: Async Scaleout
            Reporter: Jerry Cwiklik
            Assignee: Jerry Cwiklik
             Fix For: 2.8.1AS


Current UIMA-AS client code uses single instance of a semaphore 
(sharedConnectionSemaphore) to guard access to JMS connections. The client code 
creates a connection for each broker url a client wants to use. So there may be 
multiple shared connections (one per broker URL) and one semaphore for all. If 
one of the shared connections hangs as recently observed when using 
failover://(...), other threads hang waiting for a semaphore to be released. 
The hang is caused by silent retry in AMQ connection.start(). This method does 
not return if broker is not accepting a connection and client uses failover 
protocol.
Modify client code to use different semaphore for each broker url. Failure to 
connect to one will not effect other connections (threads).
Also, add ExceptionListener to Connection object to receive notification on 
failures. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to