= Camel Component Starters

Starters are Apache Camel modules intended to be used in Spring Boot applications.
There is a `camel-xxx-starter` module for each Camel component (with few exceptions listed below).

Starters are created to meet the following requirements:

* Allow the auto-configuration of the component through the native spring-boot configuration system (compatible with IDE tooling)
* Manage transitive logging dependencies to better integrate with spring-boot logging system
* Include additional dependencies and align transitive ones to minimize the effort of creating a working spring-boot application

Each starter has its own integration test (in path `tests/camel-itest-spring-boot`) that verifies its compatibility with the current release of spring-boot.

The following components do not have a starter because of compatibility issues:

* **camel-blueprint** (intended for OSGi only)
* **camel-cdi** (intended for CDI only)
* **camel-core-osgi** (intended for OSGi only)
* **camel-core-xml**
* **camel-ejb**  (intended for JEE only)
* **camel-eventadmin** (intended for OSGi only)
* **camel-groovy-dsl**
* **camel-ibatis** (`camel-mybatis-starter` is included)
* **camel-jclouds**
* **camel-mina** (`camel-mina2-starter` is included)
* **camel-paxlogging** (intended for OSGi only)
* **camel-quartz** (`camel-quartz2-starter` is included)
* **camel-scala**
* **camel-scr** (intended for OSGi only)
* **camel-spark-rest**
* **camel-swagger** (`camel-swagger-java-starter` is included)
