> For example, I have a queue named testqueue1 on server1. > I have messages msg1,msg2,msg3,msg4,msg5 on testqueue1. > > I have multiple camel instances running on different servers, say server2, > server3,server4 which will be listening to testqueue1. > I want server2 instance to pick only msg1 and msg2, server3 instance to pick > only msg3 , server4 instance should pick msg4 and msg5. > How can I achieve this?
Another option is to consider reading from the queue using Camel and sending messages to destinations using the Content Based Router [1]. server1: from("jms:queue").choice(). when().header("MSG1").isNotNull(). to("jms:server2queue"). when().header("MSG2").isNotNull(). to("jms:server3queue"). otherwise(). to("jms:server4queue"). endChoice(); server2: from("jms:server2queue").to("direct:processing") ...and so forth. [1] http://camel.apache.org/content-based-router.html -- Henryk Konsek http://henryk-konsek.blogspot.com