Fanout: unable to apply parameters to discovered brokers
--------------------------------------------------------

                 Key: AMQ-2849
                 URL: https://issues.apache.org/activemq/browse/AMQ-2849
             Project: ActiveMQ
          Issue Type: Improvement
          Components: Transport
    Affects Versions: 5.3.2
            Reporter: John McCarthy


There is currently no way to apply parameters to discovered brokers when using 
the fanout transport.  The discovery transport allows this by calling 
{{DiscoveryTransport.setParameters(Map)}} in 
{{DiscoveryTransportFactory.createTransport(CompositeData)}}.  For example, the 
following URI would apply a connection timeout of 3 seconds to all discovered 
TCP transport brokers,
    {{discovery:(multicast://default)?connectionTimeout=3000}}
The corresponding fanout URI would not apply the connection timeout to 
discovered TCP brokers,
    {{fanout:(multicast://default)?connectionTimeout=3000}} 
 

This functionality is requested as discovered brokers may become unreachable.  
In those circumstances, the default 30 connection timeout for the TCP transport 
can cause a considerable delay.

The attached patch is a proposed solution where both transports that use the 
discovery transport, failover and fanout, have a common code path in 
{{DiscoveryTransportFactory}} for creating a discovery transport.  This code 
path sets the parameters consistently for both transports.  (Although it relies 
on a new static method in {{DiscoveryTansportFactory}} and {{TransportFactory}} 
objects do not have static methods, {{FanoutTransportFactory}} was already 
making a static call to {{DiscoveryAgentFactory}}).  The patch also has two new 
test cases, one for apply parameters and another for a minor fix where 
{{DiscoveryTransport}} should cache the added URI after the parameters are 
applied so that the same URI is removed in {{onServiceRemove()}}.

This issue is created after discussion on the ActiveMQ Users discussion board,
    [http://old.nabble.com/Applying-Parameters-to-Discovered-Brokers-td29239157.html]

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

Reply via email to