Hi all,
I'm new to JBI and ServiceMix, and I seem to be missing a basic point here. I can see how JBI can be used to wrap an application in a Service Engine, and can therefore be used to flexibly provide multiple means of transport for the same service interface. This can even be achieved in a non-intrusive way by writing a Service Engine which merely delegates all requests to pure Java methods in the application. What escapes me, however, is how that same application can initiate JBI-style message exchanges (as a client) when the application itself is not service engine component. I see that if your class is a component, the task becomes easy: just call one of the create*Exchange() methods. However, most classes are not JBI components. They could delegate the action to a JBI component, but how do they get a hold of one? They're not on the JNDI context, there's no static/global context (as far as I know), and if they try to instantiate their own component, it won't have access to the JBIContainer. I have also seen that ServiceMix provides some JBI Client implementations (DefaultServiceMixClient, RemoteServiceMixClient). However, the default client needs the JBIContainer, and the remote client asks for a URI - this doesn't seem very efficient if they are running in the same JVM. I just noticed that the remote client uses "peer://org.apache.servicemix?persistent=false" by default. Is this what I need? Thanks in advance! Tim. ---------------------------------------------------------- Timothy High Software Engineering [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> Sakonnet Technology Centro Empresarial Mourisco Praia de Botafogo 501 1°Andar Bloco A - Torre Pão de Açúcar 22250-040 - Rio de Janeiro, RJ Brazil www.sknt.com <http://www.sknt.com/> +55 (21) 2586 6102 direct +55 (21) 2586 6001 fax
