Scott,

basically, its one-to-one. Camel (S)JMS + Proxies + Beans (Spring or
EJB) is our standard remoting mechanism.

A client system has an outgoing route starting with a Camel proxy for FooService

  from("direct:fooProxy).to("sjms:queue:fooQueue")

and the server system has a corresponding incoming route

  from("sjms:queue:fooQueue).to("ejb:FooServiceImpl").

There is one queue for each service. At the moment each service
happens to be either fully InOnly or InOut, but it is very likely for
a service to have mix of InOnly and InOut methods, and some of the
InOut methods might by synchronous (returning T) and others
asynchronous (returning Future<T>). So ideally, all these different
flavours of exchanges should be handled by the same SJMS endpoint, to
avoid splitting a service interface into several parts just because of
a restriction in the Camel infrastructure.

Hope that makes it clearer.

Best regards,
Harald

Reply via email to