[ 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