= Using OSGi blueprint with Camel
:page-source: components/camel-blueprint/src/main/docs/blueprint.adoc

A custom XML namespace for Blueprint has been created to let you leverage the nice XML dialect.
Given Blueprint custom namespaces are not standardized yet, this namespace can only be used on the Apache Aries Blueprint
implementation, which is the one used by Apache Karaf.

== Overview

The XML schema is mostly the same as the one for Spring, so all the XML snippets throughout the documentation
referring to Spring XML also apply to Blueprint routes.

Here is a very simple route definition using Blueprint:

[source,xml]
----
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">

    <camelContext xmlns="http://camel.apache.org/schema/blueprint">
        <route>
            <from uri="timer:test" />
            <to uri="log:test" />
        </route>
    </camelContext>

</blueprint>
----

There are a few limitations at this point about the supported xml elements (compared to the Spring XML syntax):

- `beanPostProcessor` and `<export>` are specific to Spring and are not in use

However, using Blueprint when you deploy your applications in an OSGi environment has several advantages:

- when upgrading to a new Camel version, you don't have to change the namespace, as the correct version will be
  selected based on the Camel packages that are imported by your bundle
- no startup ordering issue with respect to the custom namespaces and your bundles
- you can use Blueprint property placeholders


== Using camel-blueprint

To leverage camel-blueprint in OSGi, you only need the Aries Blueprint bundle and the camel-blueprint bundle,
in addition to camel-core-xml and its dependencies.

If you use Karaf, you can use the feature named camel-blueprint which will install all the required bundles.

== Archetype Supported

|camel-archetype-blueprint |This archetype is used to
create a new Maven project for Camel routes to be running in OSGi using
Blueprint.