<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-core</artifactId>
<version>x.x.x</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-cdi</artifactId>
<version>x.x.x</version>
</dependency>
import org.apache.camel.builder.RouteBuilder;
import javax.inject.Named;
@Named
public class FileTransferRoute extends RouteBuilder {
@Override
public void configure() {
from("file:inputFolder")
.to("file:outputFolder");
}
}
import org.apache.camel.cdi.CdiCamelContext;
import javax.enterprise.context.ApplicationScoped;
import javax.enterprise.event.Observes;
import javax.enterprise.inject.Produces;
import javax.inject.Named;
@ApplicationScoped
public class Application {
@Produces
@ApplicationScoped
@Named("camelContext")
public CdiCamelContext createCamelContext() throws Exception {
CdiCamelContext camelContext = new CdiCamelContext();
camelContext.addRoutes(new FileTransferRoute());
camelContext.start();
return camelContext;
}
public void shutdownCamelContext(@Observes ShutdownEvent shutdownEvent, @Named("camelContext") CdiCamelContext camelContext) throws Exception {
camelContext.stop();
}
}