<dependencies> <!-- Camel dependencies --> <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-core</artifactId> <version>x.x.x</version> </dependency> <!-- CDI dependencies --> <dependency> <groupId>javax.enterprise</groupId> <artifactId>cdi-api</artifactId> <version>x.x.x</version> </dependency> <!-- Other dependencies --> ... </dependencies> import org.apache.camel.builder.RouteBuilder; import javax.enterprise.inject.Produces; import javax.inject.Named; public class MyRouteBuilder extends RouteBuilder { @Override public void configure() throws Exception { } @Produces public ErrorHandler errorHandler() { return new ErrorHandler(); } } import org.apache.camel.Exchange; import org.apache.camel.Message; import org.apache.camel.Processor; public class ErrorHandler implements Processor { @Override public void process(Exchange exchange) throws Exception { Exception exception = exchange.getProperty(Exchange.EXCEPTION_CAUGHT, Exception.class); String errorMessage = exception.getMessage(); } } import org.apache.camel.cdi.CdiCamelContext; import org.apache.camel.cdi.Uri; import javax.annotation.PostConstruct; import javax.enterprise.context.ApplicationScoped; import javax.inject.Inject; @ApplicationScoped @Startup public class CamelApplication { @Inject private CdiCamelContext camelContext; @Inject @Uri("direct:start") private ProducerTemplate producerTemplate; @Inject private MyRouteBuilder myRouteBuilder; @PostConstruct public void init() throws Exception { camelContext.addRoutes(myRouteBuilder); producerTemplate.sendBody("Test Message"); } }


上一篇:
下一篇:
切换中文