[
https://issues.apache.org/jira/browse/UIMA-4830?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jerry Cwiklik updated UIMA-4830:
--------------------------------
Issue Type: Improvement (was: Bug)
> UIMA-AS: refactor SharedConnection code in the client
> -----------------------------------------------------
>
> Key: UIMA-4830
> URL: https://issues.apache.org/jira/browse/UIMA-4830
> Project: UIMA
> Issue Type: Improvement
> 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)