You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by "AMARNATH, Balachandar" <BA...@airbus.com> on 2013/02/11 05:57:48 UTC

Multicast processes in different machine

Hello,

Is there is a way that the multicasted processes can be executed in different machines? In the following camel route, I want to execute the tasks 2 and 3 in two different machines.

.process(new Task1())
            .multicast().parallelProcessing()
                .process(new Task2())
                .process(new Task3())
                .end()
            .process(new Task4())
            .process(new Task5());


Is this possible? As  far as I know, atleast from the documentation, it is not possible. Perhaps, I miss some information from the documentation?

With thanks and regards
Balachandar




The information in this e-mail is confidential. The contents may not be disclosed or used by anyone other than the addressee. Access to this e-mail by anyone else is unauthorised.
If you are not the intended recipient, please notify Airbus immediately and delete this e-mail.
Airbus cannot accept any responsibility for the accuracy or completeness of this e-mail as it has been sent over public networks. If you have any concerns over the content of this message or its Accuracy or Integrity, please contact Airbus immediately.
All outgoing e-mails from Airbus are checked using regularly updated virus scanning software but you should take whatever measures you deem to be appropriate to ensure that this message and any attachments are virus free.


Re: Multicast processes in different machine

Posted by Henryk Konsek <he...@gmail.com>.
Hi Balachandar,

> Is there is a way that the multicasted processes can be executed in different machines?

You cannot "multicast process" with Camel. What you can do with Camel
is to multicast a message. However massages can be propagated to
another machines.

from("direct:distributeProcessing").multicast().parallelProcessing().to("http://machineA",
"http://machineB", "http://machineC");

Then the particular machine could handle the processing of the given task.

// Deployed on the machine A.
from("jetty://http://localhost").to("bean:taskABean");

However before walking this path, consider using JMS [2] in the
conjunction with the Competing Consumer EIP pattern [3].

Best regards.

[1] http://camel.apache.org/load-balancer.html
[2] http://camel.apache.org/jms.html
[3] http://www.eaipatterns.com/CompetingConsumers.html

--
Henryk Konsek
http://henryk-konsek.blogspot.com