Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The jbi: component is provided by the ServiceMix Camel module and provides integration with a JBI Normalized Message Router such as provided by Apache ServiceMix

Info
Stream bodies
Stream bodies

See below for information regarding using StreamSource types from ServiceMix in Camel.

Following code

Code Block
from("jbi:endpoint:http://foo.bar.org/MyService/MyEndpoint")

...

Code Block
jbi:service:http://foo.bar.org/MyService?mep=in-out       (override the MEP, use InOut JBI MessageExchanges)
jbi:endpoint:urn:foo:bar:MyService:MyEndpoint?mep=in      (override the MEP, use InOnly JBI MessageExchanges)  
jbi:endpoint:urn:foo:bar:MyService:MyEndpoint?operation={http://www.mycompany.org}AddNumbers  (overide the operation for the JBI Exchange to {http://www.mycompany.org}AddNumbers)

Using Stream bodies

If you are using any stream types as bodies then you should be aware that a stream is only capable of being read once. So if you are enabling DEBUG logging then the body is usually debug logged and thus read. To cater for this Camel has streamCaching that caches the stream is it can be read multiple times.

Code Block

from("jbi:endpoint:http://foo.bar.org/MyService/MyEndpoint").streamCaching().to("xslt:transform.xsl", "bean:doSomething");

Creating a JBI Service Unit

...