[ http://jira.activemq.org/jira//browse/SM-337?page=all ]
     
Guillaume Nodet resolved SM-337:
--------------------------------

      Assign To: Guillaume Nodet
     Resolution: Fixed
    Fix Version: 3.0-M1

Author: gnodet
Date: Mon Mar  6 15:19:33 2006
New Revision: 383702

URL: http://svn.apache.org/viewcvs?rev=383702&view=rev


> JMSFlow routes to components before they're started
> ---------------------------------------------------
>
>          Key: SM-337
>          URL: http://jira.activemq.org/jira//browse/SM-337
>      Project: ServiceMix
>         Type: Bug

>   Components: servicemix-core
>     Versions: 3.0, 2.0.2
>  Environment: Windows XP, SM 2.0.2
>     Reporter: Michael Studman
>     Assignee: Guillaume Nodet
>      Fix For: 3.0-M1

>
>
> I'm currently developing against 2.0.2 but my inspection of SVN seems to show 
> this problem is in 3.0 too.
>  
> So I have three ServiceMix containers each using JMSFlow. There are two 
> networked ActiveMQ brokers (tcp:server1 tcp:server2) and the containers'
> jmsURL pointing to them both via "reliable:(tcp:server1,tcp:server2).
>  
> I'm trying to simulate one of the containers leaving the cluster (killing the 
> JVM with Ctrl-C) and then rejoining it to see how the cluster handles 
> clustering and load balancing under this scenario. What I'm seeing is 
> generally good but my MessageExchangeListener implementing-component in the 
> rejoining container is receiving messages before its init() or start() 
> methods are called.
>  
> I think I've tracked down the problem and it seems to be one of ordering 
> between the registry, flow and auto-deployer. When the auto-deployer calls 
> JBIContainer.activateComponent(...) for my component this causes
> Registry.registerComponent(...) to fire an event which is handled by 
> JMSFlow.onEvent(ComponentEventPacket). onEvent here notifies the cluster of 
> the new component which gives the green light for others in the cluster to 
> deliver messages for the named component to this container.
> The problem is when Registry.registerComponent(...) is called the component 
> hasn't yet been started but it is already added to the registry's map and 
> subsequently found when JMSFlow receives a request from elsewhere in the 
> cluster. A cursory glance at the SVN repository indicates to me this is still 
> a problem with 3.0.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://jira.activemq.org/jira//secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to