Search in sources :

Example 16 with AdviceWithRouteBuilder

use of org.apache.camel.builder.AdviceWithRouteBuilder in project camel by apache.

the class AdviceWithTwoRoutesTest method testAdviceWithAB.

public void testAdviceWithAB() throws Exception {
    RouteDefinition route = context.getRouteDefinition("a");
    route.adviceWith(context, new AdviceWithRouteBuilder() {

        @Override
        public void configure() throws Exception {
            interceptSendToEndpoint("mock://a").skipSendToOriginalEndpoint().to("mock:detour");
        }
    });
    route = context.getRouteDefinition("b");
    route.adviceWith(context, new AdviceWithRouteBuilder() {

        @Override
        public void configure() throws Exception {
            interceptSendToEndpoint("mock://b").skipSendToOriginalEndpoint().to("mock:detour");
        }
    });
    getMockEndpoint("mock:a").expectedMessageCount(0);
    getMockEndpoint("mock:b").expectedMessageCount(0);
    getMockEndpoint("mock:detour").expectedMessageCount(2);
    template.sendBody("direct:a", "Hello World");
    template.sendBody("direct:b", "Bye World");
    assertMockEndpointsSatisfied();
}
Also used : RouteDefinition(org.apache.camel.model.RouteDefinition) AdviceWithRouteBuilder(org.apache.camel.builder.AdviceWithRouteBuilder)

Example 17 with AdviceWithRouteBuilder

use of org.apache.camel.builder.AdviceWithRouteBuilder in project camel by apache.

the class AdviceWithTypeTest method testReplace.

public void testReplace() throws Exception {
    // START SNIPPET: e1
    context.getRouteDefinitions().get(0).adviceWith(context, new AdviceWithRouteBuilder() {

        @Override
        public void configure() throws Exception {
            // weave by type in the route
            // and replace it with the following route path
            weaveByType(LogDefinition.class).replace().multicast().to("mock:a").to("mock:b");
        }
    });
    // END SNIPPET: e1
    getMockEndpoint("mock:a").expectedMessageCount(1);
    getMockEndpoint("mock:b").expectedMessageCount(1);
    getMockEndpoint("mock:result").expectedBodiesReceived("Hello World");
    template.sendBody("direct:start", "World");
    assertMockEndpointsSatisfied();
}
Also used : LogDefinition(org.apache.camel.model.LogDefinition) AdviceWithRouteBuilder(org.apache.camel.builder.AdviceWithRouteBuilder)

Example 18 with AdviceWithRouteBuilder

use of org.apache.camel.builder.AdviceWithRouteBuilder in project camel by apache.

the class AdviceWithTypeTest method testAfter.

public void testAfter() throws Exception {
    // START SNIPPET: e4
    context.getRouteDefinitions().get(0).adviceWith(context, new AdviceWithRouteBuilder() {

        @Override
        public void configure() throws Exception {
            // weave the type in the route and remove it
            // and insert the following route path after the adviced node
            weaveByType(ToDefinition.class).after().transform(constant("Bye World"));
        }
    });
    // END SNIPPET: e4
    getMockEndpoint("mock:result").expectedBodiesReceived("Hello World");
    Object out = template.requestBody("direct:start", "World");
    assertEquals("Bye World", out);
    assertMockEndpointsSatisfied();
}
Also used : ToDefinition(org.apache.camel.model.ToDefinition) AdviceWithRouteBuilder(org.apache.camel.builder.AdviceWithRouteBuilder)

Example 19 with AdviceWithRouteBuilder

use of org.apache.camel.builder.AdviceWithRouteBuilder in project camel by apache.

the class AdviceWithTypeTest method testBefore.

public void testBefore() throws Exception {
    // START SNIPPET: e3
    context.getRouteDefinitions().get(0).adviceWith(context, new AdviceWithRouteBuilder() {

        @Override
        public void configure() throws Exception {
            // weave the type in the route and remove it
            // and insert the following route path before the adviced node
            weaveByType(ToDefinition.class).before().transform(constant("Bye World"));
        }
    });
    // END SNIPPET: e3
    getMockEndpoint("mock:result").expectedBodiesReceived("Bye World");
    template.sendBody("direct:start", "World");
    assertMockEndpointsSatisfied();
}
Also used : ToDefinition(org.apache.camel.model.ToDefinition) AdviceWithRouteBuilder(org.apache.camel.builder.AdviceWithRouteBuilder)

Example 20 with AdviceWithRouteBuilder

use of org.apache.camel.builder.AdviceWithRouteBuilder in project camel by apache.

the class AdviceWithWeaveAfterLastSplitTest method testAfterLastSplit.

public void testAfterLastSplit() throws Exception {
    context.getRouteDefinitions().get(0).adviceWith(context, new AdviceWithRouteBuilder() {

        @Override
        public void configure() throws Exception {
            weaveAddLast().log("weaveAddLast: ${body}").to("mock:result");
        }
    });
    context.start();
    MockEndpoint mock = getMockEndpoint("mock:result");
    mock.expectedMessageCount(1);
    template.sendBody("direct:input", "1,2");
    mock.assertIsSatisfied();
}
Also used : MockEndpoint(org.apache.camel.component.mock.MockEndpoint) AdviceWithRouteBuilder(org.apache.camel.builder.AdviceWithRouteBuilder)

Aggregations

AdviceWithRouteBuilder (org.apache.camel.builder.AdviceWithRouteBuilder)94 RouteDefinition (org.apache.camel.model.RouteDefinition)17 Test (org.junit.Test)17 Exchange (org.apache.camel.Exchange)10 MockEndpoint (org.apache.camel.component.mock.MockEndpoint)10 Processor (org.apache.camel.Processor)9 FailedToCreateRouteException (org.apache.camel.FailedToCreateRouteException)3 ResolveEndpointFailedException (org.apache.camel.ResolveEndpointFailedException)3 SedaEndpoint (org.apache.camel.component.seda.SedaEndpoint)2 ToDefinition (org.apache.camel.model.ToDefinition)2 ObjectName (javax.management.ObjectName)1 Endpoint (org.apache.camel.Endpoint)1 StatefulService (org.apache.camel.StatefulService)1 AdviceWithTask (org.apache.camel.builder.AdviceWithTask)1 RouteBuilder (org.apache.camel.builder.RouteBuilder)1 ChoiceDefinition (org.apache.camel.model.ChoiceDefinition)1 LogDefinition (org.apache.camel.model.LogDefinition)1 SplitDefinition (org.apache.camel.model.SplitDefinition)1 InSequence (org.jboss.arquillian.junit.InSequence)1 Before (org.junit.Before)1