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

Rob Davies resolved AMQ-2134.
-----------------------------

    Resolution: Fixed

Fixed in SVN revision 777806
You can specify the IDLE_TIMEOUT by the keepAliveInterval property in the URI

> Multicast transport does not work when for a consumer or producer
> -----------------------------------------------------------------
>
>                 Key: AMQ-2134
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2134
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.2.0
>         Environment: Using JMS in a spring framework
>            Reporter: Jaiganesh Mathaiyan
>            Assignee: Rob Davies
>            Priority: Critical
>             Fix For: 5.3.0
>
>
> I am creating a broker with just a multicast transport connector. Code 
> snippet below.
>             try{
>                       broker = new BrokerService();
>               // configure the broker
>                       broker.setBrokerName("ism");            
>                       
> broker.addConnector("multicast://224.1.2.3:6255?loopBackMode=true");          
>           
>                       broker.start();
>               }catch(Exception ex){
>                       ex.printStackTrace();
>               }
> Now I try creating a subscriber on the broker  using the following broker url 
> "multicast://224.1.2.3:6255?loopBackMode=true&trace=true"
> The connection never succeeds and the following message is repeatedly thrown.
> DEBUG o.a.a.t.reliable.ReliableTransport - Still waiting for response on: 
> multicast://224.1.2.3:6255?loopBackMode=true&trace=t...@0 to command: 
> ConnectionInfo {commandId = 1, responseRequired = true, connectionId = 
> ID:JMATHAIY-WXP01-3697-1235159811727-2:0, clientId = 
> ID:JMATHAIY-WXP01-3697-1235159811727-3:0, userName = null, password = null, 
> brokerPath = null, brokerMasterConnector = false, manageable = true, 
> clientMaster = true} sending replay message
> 11:58:44.270 [http-8080-1] DEBUG o.a.a.t.TransportLogger.Connection:1 - 
> SENDING: ReplayCommand {commandId = 25, firstNakNumber = 1, lastNakNumber = 1}
> The reason to believe why this is a bug: 
> I did some sniffing on the network and found that the igmp multicast join 
> request for the broker never came through. Some digging into the code 
> revealed that the MulticastTransport was never created in the first place. 
> UdpTransport was being created even though the transport was multicast. The 
> following change in the doBind method on the UdpTransportFactory.java fixed 
> this problem.
>             //int port = location.getPort();
>             //OpenWireFormat openWireFormat = asOpenWireFormat(wf);
>             //UdpTransport transport = new UdpTransport(openWireFormat, port);
>             log.debug("Putting a custom fix for Multicast problem");
>             UdpTransport transport = (UdpTransport)createTransport(location, 
> wf);
> Now I was able to see the broker joining the multicast group, but the 
> multicast socket gets timed out after every 5000 ms . I figured out that this 
> is a default setting in the MulticastTransport.java (DEFAULT_IDLE_TIME) and 
> tried changing it to 0 (open socket forever). Note : There is no way to 
> specify this value from the uri. (or I was not able to figure that out).
> After the above two changes, I could get publisher and consumer connect to 
> the broker and pass on the messages.
> Please review the above changes and let me know if this has any other side 
> effects or if any better fix is possible.
> Background : We are actively testing out the various transports to use 
> ActiveMQ in our application and multicast is very essential. Infact we want 
> to integrate jgroups and I am not having any success there. Is jgroups really 
> integrated in 5.2 ?

-- 
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