All,

I have the following environment setup:

ActiveMQ(a)  <---->  ActiveMQ(b)
   |\                   /|
   | \                 / |
   |  \               /  |
   |   \_____________/   |
   |   /             \   |
   |  /               \  |
   | /                 \ |
   |/                   \|
ServiceMix(a)       ServiceMix(b)


The AvtiveMQ instances are connecting to each other via a reliable
networkChannel (each instance points to the other). They are registering
with each other properly by all accounts.

The ServiceMix instances each register with both ActiveMQ instances, again
via reliable networkChannels via the JMS Flow. When the ServiceMix nodes are
brought up, they register with the brokers, and cross register their
available services with each other. ServiceMix(a) provides "service1" and
ServiceMix(b) provides "service2". When all of the containers are running (2
ActiveMQ and 2 ServiceMix), ServiceMix(a)'s "service1" invokes "service2"
without incident - even though it is provided by ServiceMix(b). 

If I kill one of the ActiveMQ nodes, lets say ActiveMQ(a), and wait a bit,
everything fails over properly, and the same invocation of
"service1"->"service2" works properly.

However, if I invoke "service1" and then kill ActiveMQ(a), the call results
in a time out. It seems as though if service resolution is performed during
the failover process something goes wrong - it appears that the remote
service resolver does not retry if its lookup fails. The scenario:
remoteResolver asks ActiveMQ(a), the current JMS flow provider, for
"service2", but ActiveMQ(a) doesn't respond (it was killed) so
remoteResolver either throws an exception or traps an exception and exits or
just waits. I would have expected that the remoteResolver would try the
initial JMS flow provider, ActiveMQ(a), and upon failure check with the
failed-over JMS flow provider, in this case ActiveMQ(b).

Please share your experiences with clustering ActiveMQ and using the JMS
Flow to cluster ServiceMix. Am I misconfiguring something or is this a
limitation of the JBI remote service resolver?

regards,
/jonathan 

Reply via email to