I try to define a simple kamelet and run it in Camel Spring Boot route.
my-kamelet.kamelet.yaml
is located in resources/kamelets
apiVersion: camel.apache.org/v1alpha1
kind: Kamelet
metadata:
name: my-kamelet
spec:
template:
from:
uri: timer:mykamelet?period=1000
steps:
- log: "Executing Kamelet scheduled job"
my routeBuilder
@Component
public class KameletRoute extends RouteBuilder {
@Override
public void configure() throws Exception {
from("kamelet:my-kamelet")
.log("Executing main route");
}
}
relevant dependencies in pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.apache.camel.springboot</groupId>
<artifactId>camel-spring-boot-starter</artifactId>
<version>${camel.version}</version>
</dependency>
<dependency>
<groupId>org.apache.camel.springboot</groupId>
<artifactId>camel-kamelet-starter</artifactId>
<version>${camel.version}</version>
</dependency>
When I start the application i get following error:
ERROR 20372 --- [kamelet-poc] [ restartedMain] o.s.boot.SpringApplication : Application run failed
org.apache.camel.FailedToCreateRouteException: Failed to create route route1: Route(route1)[From[kamelet:my-kamelet] -> [Log[Executing mai... because of No endpoint could be found for: kamelet://my-kamelet, please check your classpath contains the needed Camel component jar.
I guess am missing something stupid but I am not able to discover what.
The missing part was camel-yaml-dsl
dependency
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-yaml-dsl</artifactId>
<version>${camel.version}</version>
</dependency>