<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-cdi</artifactId>
<version>3.11.1</version>
</dependency>
import javax.inject.Named;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.cdi.ContextName;
@Named
@ContextName("myContext")
public class MyRouteBuilder extends RouteBuilder {
@Override
public void configure() throws Exception {
from("timer:myTimer?period=5000")
.setBody()
.constant("Hello from Camel!")
.to("log:myLogger");
}
}
<beans xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/beans_2_0.xsd"
bean-discovery-mode="all">
</beans>
import org.apache.camel.cdi.CdiCamelExtension;
import javax.enterprise.inject.se.SeContainerInitializer;
public class MyApp {
public static void main(String[] args) {
try (SeContainer seContainer = SeContainerInitializer.newInstance().initialize()) {
CdiCamelExtension.getCamelContext(seContainer.getBeanManager(), "myContext").setAutoStartup(true);
}
}
}