I am working with Apache Camel and I am defining a route that I need to access some headers. To accomplish that I use simple to access dynamically a header.
from("direct:buildInformation")
.setProperty("id", constant(simple("${header.headers[id]}")))
.to(simple("http://localhost/search?id=${header.headers[id]}"))
.process("MyProcessor");
However I get the error: is waiting for dependencies [(&(component=Simple)(objectClass=org.apache.camel.spi.ComponentResolver))]. Here at my pom.xml project I import all needed dependencies including camel-core, that is needed for simple language work properly, as you can see.
<dependencies>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-blueprint</artifactId>
<version>${camel-version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>net.sourceforge.jexcelapi</groupId>
<artifactId>jxl</artifactId>
<version>2.6.12</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-core</artifactId>
<version>${camel-version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-http</artifactId>
<version>${camel-version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-http4</artifactId>
<version>${camel-version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-jackson</artifactId>
<version>${camel-version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-jsonpath</artifactId>
<version>${camel-version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j-version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.4</version>
<scope>provided</scope>
</dependency>
</dependencies>
Besides that from my Karaf console I see that camel-core is active, but my bundle is in GracePeriod Status: [(&(component=Simple)(objectClass=org.apache.camel.spi.ComponentResolver))]. Below my Karaf console printscreen.
Picture from karaf console showing camel-core dependency as active
According to this link, Blueprint needs to find the reference. In this case you could try adding the timeout like below to the blueprint.xml:
<reference id="Simple"
interface="org.apache.camel.spi.ComponentResolver"
timeout="30000"/>