activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rob Arciere (JIRA)" <>
Subject [jira] Commented: (AMQ-2944) Failover transport always re-connects to the first configured transport instead of the original transport speficied in the connection url
Date Mon, 04 Oct 2010 14:38:40 GMT


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:
>             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://"/>
>        <transportConnector name="ssl" uri="ssl://"/>
> </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://"/>
>        <transportConnector name="openwire" uri="tcp://"/>
> </transportConnectors>

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

View raw message