use of org.apache.camel.builder.AdviceWithRouteBuilder in project camel by apache.
the class AdviceWithWeaveByStringOnChoiceTest method testWeaveByToStringShoultNotThrowUnsupportedOperationException.
public void testWeaveByToStringShoultNotThrowUnsupportedOperationException() throws Exception {
context.getRouteDefinitions().get(0).adviceWith(context, new AdviceWithRouteBuilder() {
@Override
public void configure() throws Exception {
weaveByToString(".*mock:foo.*").replace().to("mock:bar");
}
});
context.start();
getMockEndpoint("mock:foo").expectedMessageCount(0);
getMockEndpoint("mock:bar").expectedMessageCount(1);
template.sendBody("direct:start", "Hello World");
assertMockEndpointsSatisfied();
}
use of org.apache.camel.builder.AdviceWithRouteBuilder in project camel by apache.
the class AdviceWithReplaceFromTest method testReplaceFromUri.
public void testReplaceFromUri() throws Exception {
context.getRouteDefinitions().get(0).adviceWith(context, new AdviceWithRouteBuilder() {
@Override
public void configure() throws Exception {
// replace the input in the route with a new endpoint uri
replaceFromWith("seda:foo");
}
});
getMockEndpoint("mock:result").expectedMessageCount(1);
// has been replaced to a seda endpoint instead
template.sendBody("seda:foo", "Hello World");
assertMockEndpointsSatisfied();
}
use of org.apache.camel.builder.AdviceWithRouteBuilder in project camel by apache.
the class AdviceWithReplaceFromTest method testReplaceFromEndpoint.
public void testReplaceFromEndpoint() throws Exception {
final Endpoint endpoint = context.getEndpoint("seda:foo");
context.getRouteDefinitions().get(0).adviceWith(context, new AdviceWithRouteBuilder() {
@Override
public void configure() throws Exception {
// replace the input in the route with a new endpoint
replaceFromWith(endpoint);
}
});
getMockEndpoint("mock:result").expectedMessageCount(1);
// has been replaced to a seda endpoint instead
template.sendBody("seda:foo", "Hello World");
assertMockEndpointsSatisfied();
}
use of org.apache.camel.builder.AdviceWithRouteBuilder in project camel by apache.
the class AdviceWithTasksMatchTest method testReplaceMultipleIds.
public void testReplaceMultipleIds() throws Exception {
context.getRouteDefinitions().get(0).adviceWith(context, new AdviceWithRouteBuilder() {
@Override
public void configure() throws Exception {
// replace all gold id's with the following route path
weaveById("gold*").replace().multicast().to("mock:a").to("mock:b");
}
});
getMockEndpoint("mock:foo").expectedMessageCount(0);
getMockEndpoint("mock:bar").expectedMessageCount(0);
getMockEndpoint("mock:a").expectedMessageCount(2);
getMockEndpoint("mock:b").expectedMessageCount(2);
getMockEndpoint("mock:result").expectedMessageCount(1);
template.sendBody("direct:start", "Hello World");
assertMockEndpointsSatisfied();
}
use of org.apache.camel.builder.AdviceWithRouteBuilder in project camel by apache.
the class AdviceWithTasksOnExceptionTest method testBeforeWithOnException.
public void testBeforeWithOnException() throws Exception {
context.getRouteDefinitions().get(0).adviceWith(context, new AdviceWithRouteBuilder() {
@Override
public void configure() throws Exception {
// weave the node in the route which has id = bar
// and insert the following route path before the adviced node
weaveById("bar").before().to("mock:a").transform(constant("Bye World"));
}
});
getMockEndpoint("mock:foo").expectedBodiesReceived("Hello World");
getMockEndpoint("mock:a").expectedBodiesReceived("Hello World");
getMockEndpoint("mock:bar").expectedBodiesReceived("Bye World");
getMockEndpoint("mock:result").expectedBodiesReceived("Bye World");
template.sendBody("direct:start", "Hello World");
assertMockEndpointsSatisfied();
}
Aggregations