use of org.apache.camel.builder.DeadLetterChannelBuilder in project camel by apache.
the class ContextScopedOnExceptionNotHandledErrorHandlerRefIssueTest method createRegistry.
@Override
protected JndiRegistry createRegistry() throws Exception {
JndiRegistry jndi = super.createRegistry();
jndi.bind("myDLC", new DeadLetterChannelBuilder("mock:dead"));
return jndi;
}
use of org.apache.camel.builder.DeadLetterChannelBuilder in project camel by apache.
the class ContextScopedOnExceptionNotHandledErrorHandlerRefIssueTwoRoutesTest method createRegistry.
@Override
protected JndiRegistry createRegistry() throws Exception {
JndiRegistry jndi = super.createRegistry();
jndi.bind("myDLC", new DeadLetterChannelBuilder("mock:dead"));
return jndi;
}
use of org.apache.camel.builder.DeadLetterChannelBuilder in project camel by apache.
the class ContextScopedOnExceptionNotHandledRouteScopedErrorHandlerRefIssueTest method createRegistry.
@Override
protected JndiRegistry createRegistry() throws Exception {
JndiRegistry jndi = super.createRegistry();
jndi.bind("myDLC", new DeadLetterChannelBuilder("mock:dead"));
return jndi;
}
use of org.apache.camel.builder.DeadLetterChannelBuilder in project camel by apache.
the class OnExceptionContinuedIssueTest method testOnExceptionWrappedMatch.
@Test
public void testOnExceptionWrappedMatch() throws Exception {
final DefaultErrorHandlerBuilder defaultErrorHandlerBuilder = new DeadLetterChannelBuilder("direct:dead");
// run fast
defaultErrorHandlerBuilder.redeliveryDelay(0);
defaultErrorHandlerBuilder.maximumRedeliveries(2);
context.setErrorHandlerBuilder(defaultErrorHandlerBuilder);
context.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
context.setTracing(false);
onException(OrderFailedException.class).maximumRedeliveries(0).continued(true);
from("direct:dead").to("log:dead", "mock:dead");
from("direct:order").to("mock:one").process(new Processor() {
@Override
public void process(Exchange exchange) throws Exception {
log.info("First Processor Invoked");
throw new OrderFailedException("First Processor Failure");
}
}).to("mock:two").process(new Processor() {
@Override
public void process(Exchange exchange) throws Exception {
log.info("Second Processor Invoked");
}
}).to("mock:three").process(new Processor() {
@Override
public void process(Exchange exchange) throws Exception {
log.info("Third Processor Invoked");
throw new RuntimeException("Some Runtime Exception");
}
}).to("mock:four").process(new Processor() {
@Override
public void process(Exchange exchange) throws Exception {
log.info("Fourth Processor Invoked");
}
});
}
});
context.start();
// we should only get 1 to the DLC when we hit the 3rd route that
// throws the runtime exception
getMockEndpoint("mock:dead").expectedMessageCount(1);
getMockEndpoint("mock:one").expectedMessageCount(1);
getMockEndpoint("mock:two").expectedMessageCount(1);
getMockEndpoint("mock:three").expectedMessageCount(1);
getMockEndpoint("mock:four").expectedMessageCount(0);
template.requestBody("direct:order", "Camel in Action");
assertMockEndpointsSatisfied();
}
use of org.apache.camel.builder.DeadLetterChannelBuilder in project camel by apache.
the class OnExceptionRouteScopedErrorHandlerRefIssueTwoRoutesTest method createRegistry.
@Override
protected JndiRegistry createRegistry() throws Exception {
JndiRegistry jndi = super.createRegistry();
jndi.bind("myDLC", new DeadLetterChannelBuilder("mock:dead"));
return jndi;
}
Aggregations