Shashank Krishnaswamy created AMQ-8255:
------------------------------------------

             Summary: Wrong exception propagation on reaching Broker Connection 
Limit
                 Key: AMQ-8255
                 URL: https://issues.apache.org/jira/browse/AMQ-8255
             Project: ActiveMQ
          Issue Type: Bug
          Components: Broker, JMS client
    Affects Versions: 5.15.13
         Environment: *Broker Details:*
 * Version - 5.15.12
 * Hosted on AWS (Amazon MQ)
 * Instance type - mq.t3.micro with a limit of 100 connections

*Client Details:*
 * Version - 5.15.13
 * Using openwire/jms client
 * running on linux **
            Reporter: Shashank Krishnaswamy


Hi,

I am trying to add exception handling at activemq client side around connection 
setup. Based on my experiment I found that whenever Broker reaches the maximum 
connection limit, client receives 3 types of generic exceptions - 
_SSLHandshakeException, SocketException & TransportDisposedIOException._ These 
exceptions could occur if there is connectivity issue or 
[truststore/certificate related 
issue|http://activemq.2283324.n4.nabble.com/Javax-net-ssl-SSLHandshakeException-td4722408.html].
 This has made exception handling impossible as it is not possible to know if 
the error is retry-able (recoverable) or not.

The ask here is to provide better signal from Broker (or client library) so 
that application can handle recoverable and non recoverable errors differently.

Suggestion options
 # Let 
[connection|https://activemq.apache.org/maven/apidocs/org/apache/activemq/ActiveMQConnection.html#start%E2%80%93].start()
 throw [ExceededMaximumConnectionsException 
|https://activemq.apache.org/maven/apidocs/org/apache/activemq/transport/tcp/ExceededMaximumConnectionsException.html]
 # Let client provide exception via listeners
 ** [Client internal exception 
listener|https://activemq.apache.org/maven/apidocs/org/apache/activemq/ClientInternalExceptionListener.html]
 ** [Exception 
listener|https://activemq.apache.org/maven/apidocs/org/apache/activemq/ActiveMQConnection.html#setExceptionListener-javax.jms.ExceptionListener-]
 ** [Transport 
Listener|https://activemq.apache.org/maven/apidocs/org/apache/activemq/transport/TransportListener.html]
 # Or provide new API to get current number of client connections.

Thanks

 

 

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to