You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Gary Tully (JIRA)" <ji...@apache.org> on 2011/03/21 11:32:05 UTC

[jira] [Resolved] (AMQ-3222) Failover and SimpleDiscovery - query parameters getting dropped

     [ https://issues.apache.org/jira/browse/AMQ-3222?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gary Tully resolved AMQ-3222.
-----------------------------

       Resolution: Fixed
    Fix Version/s: 5.5.0

http://svn.apache.org/viewvc?rev=1082333&view=rev

For non static discovery of networks or client connections, parameters that need to be applied to all discovered uris should be specified on the discovery uri using the prefix "discovered.".
Static discovery just adds the parameters in the normal way.

> Failover and SimpleDiscovery - query parameters getting dropped
> ---------------------------------------------------------------
>
>                 Key: AMQ-3222
>                 URL: https://issues.apache.org/jira/browse/AMQ-3222
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker, Transport
>    Affects Versions: 5.4.2
>            Reporter: Gary Tully
>            Assignee: Gary Tully
>              Labels: failover, networkBridge, networkConnector
>             Fix For: 5.5.0
>
>
> Using failover with static discovery makes sense in a master slave scenario. 
> With simple static discovery with a pair of uri's, {code}<networkConnector uri="static:(tcp://localhost:32258,tcp://localhost:32259)" />{code} static discovery will continue to try and connect to both uris which leads to repeated logging of failed attempts to bridge to the slave that is not active yet.
> Using failover{code}<networkConnector uri="static:(failover:(tcp://localhost:32258,tcp://localhost:32259)?randomize=false&amp;maxReconnectAttempts=1)"/>{code} improves on this as the failover: transport will be content with just one uri, from the broker perspective there is a single network bridge, rather than two.
> Currently query parameter are not correctly applied.
> Query parameter parsing is problematic when options for a transport are duplicated by the discovery mechanism, e.g: maxReconnectAttempts. There have been some related efforts to resolve this, https://issues.apache.org/jira/browse/AMQ-2981 and https://issues.apache.org/jira/browse/AMQ-2598. Parameters are stripped from transport uris and applied to both the transport and the discovery mechanism. 
> The end result, and fix, is that additional transport options that need to be applied to discovered transport (which typically have all query parameters removed) need to be isolated from normal query parameters using a dot (prefixed with "discovered.") notation. e.g: {code}discovery:(multicast://default)?initialReconnectDelay=100&discovered.closeAsync=false"{code} 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira