You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Rob Arciere (JIRA)" <ji...@apache.org> on 2010/10/04 16:38:40 UTC

[jira] Commented: (AMQ-2944) Failover transport always re-connects to the first configured transport instead of the original transport speficied in the connection url

    [ https://issues.apache.org/activemq/browse/AMQ-2944?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=62325#action_62325 ] 

Rob Arciere commented on AMQ-2944:
----------------------------------

If the design is to use the first transport in the configuration file (which probably should be documented), then that poses a problem in environments where you require clients to connect via tcp or ssl exclusively (based on each clients connection requirements).  My main concern is that clients that require ssl encryption always connect via ssl because of the security implications.  My workaround has been to put the ssl connection first in the config file which I can live with, but that forces other clients on local network or vpn to reconnect when transport is interrupted via ssl instead of tcp which still works, but is less then optimum.

Wouldn't it make more sense to have clients only reconnect on transports specified in the configured failover transport URI's on the current connection, or am I missing something?

> Failover transport always re-connects to the first configured transport instead of the original transport speficied in the connection url
> -----------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: AMQ-2944
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2944
>             Project: ActiveMQ
>          Issue Type: Bug
>    Affects Versions: 5.3.1
>            Reporter: Rob Arciere
>         Attachments: activemq.xml
>
>
> I am using a single broker configured to accept both tcp and ssl connections using the configuration below
> <transportConnectors>
>        <transportConnector name="openwire" uri="tcp://0.0.0.0:61616"/>
>        <transportConnector name="ssl" uri="ssl://0.0.0.0:61617"/>
> </transportConnectors>
> The clients are configured to use the failover transport over ssl to connect to a single broker (e.g. URL: failover:ssl://Host:61616).  Upon startup the client correctly connects to the broker on port 61617 via ssl.  I then simulate a network outage and the transport is interrupted and waits for the connection to become available.  After a short amount of time the Broker detects inactivity on the connection and then drops the connection (viewed via JMX and Jconsole).  When the network connection is restored, the client reconnects to broker on port 61616 using tcp instead of ssl on port 61617 (not good if you require ssl encryption).
> It appears that the ordering of the transportConnectors in the activemq.xml file affects which transport is used upon resumption of an interrupted failover transport.  It turns out that upon reconnection the first defined transport will always be used regardless of what transport was specified in the original client connection url.  Changing the ordering to the following fixes the problem and upon reconnection the ssl transport will be used.  However, the reverse issue will occur for clients that originally connection via tcp transport where upon reconnection they will connect via ssl transport instead of tcp.
> <transportConnectors>
>        <transportConnector name="ssl" uri="ssl://0.0.0.0:61617"/>
>        <transportConnector name="openwire" uri="tcp://0.0.0.0:61616"/>
> </transportConnectors>

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.