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


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