blob: e8de87779a662869ceaf2a9b8169540b05158a1a [file] [log] [blame]
h2. Deploy as an OSGi bundle
Using an OSGi bundle to deploy your Camel routes allows you to use the Java or Scala DSL for defining your routes.
In this case, we will use a Blueprint XML file to start your Camel routs. To do so, the Blueprint XML files have to be included in the bundle inside the {{OSGI-INF/blueprint}} directory.
{pygmentize:lang=text}
+ <bundle classes, incl. your RouteBuilder>
|- META-INF
| |- MANIFEST.MF
\- OSGI-INF
\- blueprint
\- camel-context.xml
{pygmentize}
As soon as the bundle becomes Active, the Blueprint extender will create the Blueprint container starting your Routes.
h3. Example: Referring to Java or Scala RouteBuilder classes
If your RouteBuilder classes have been defined in the {{org.apache.servicemix.manual.camel}} package, the file would look like this:
{pygmentize:lang=xml}
<?xml version="1.0" encoding="UTF-8"?>
<blueprint
xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.osgi.org/xmlns/blueprint/v1.0.0
http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd">
<camelContext xmlns="http://camel.apache.org/schema/blueprint">
<package>org.apache.servicemix.manual.camel</package>
</camelContext>
</blueprint>
{pygmentize}
h3. Example in the distribution
Another example for using this deployment option can be found in the {{camel-blueprint}} example that is shipped with Apache ServiceMix.