Java 类org.apache.camel.management.event.CamelContextStartedEvent 实例源码

项目:Camel    文件:EventNotifierEventsTest.java   
public void testSuspendResume() throws Exception {
    assertEquals(6, events.size());
    assertIsInstanceOf(CamelContextStartingEvent.class, events.get(0));
    assertIsInstanceOf(RouteAddedEvent.class, events.get(1));
    assertIsInstanceOf(RouteAddedEvent.class, events.get(2));
    assertIsInstanceOf(RouteStartedEvent.class, events.get(3));
    assertIsInstanceOf(RouteStartedEvent.class, events.get(4));
    assertIsInstanceOf(CamelContextStartedEvent.class, events.get(5));

    context.suspend();

    assertEquals(8, events.size());
    assertIsInstanceOf(CamelContextSuspendingEvent.class, events.get(6));
    // notice direct component is not suspended (as they are internal)
    assertIsInstanceOf(CamelContextSuspendedEvent.class, events.get(7));

    context.resume();

    assertEquals(10, events.size());
    assertIsInstanceOf(CamelContextResumingEvent.class, events.get(8));
    assertIsInstanceOf(CamelContextResumedEvent.class, events.get(9));
}
项目:Camel    文件:EventNotifierServiceStoppingFailedEventTest.java   
public void testStopWithFailure() throws Exception {
    stopOrder = "";

    context.stop();

    assertEquals("CBA", stopOrder);

    assertEquals(5, events.size());

    assertIsInstanceOf(CamelContextStartingEvent.class, events.get(0));
    assertIsInstanceOf(CamelContextStartedEvent.class, events.get(1));
    assertIsInstanceOf(CamelContextStoppingEvent.class, events.get(2));
    ServiceStopFailureEvent event = assertIsInstanceOf(ServiceStopFailureEvent.class, events.get(3));
    assertIsInstanceOf(CamelContextStoppedEvent.class, events.get(4));

    assertEquals("Fail B", event.getCause().getMessage());
    assertEquals("Failure to stop service: B due to Fail B", event.toString());
}
项目:Camel    文件:MultiContextEventNotifierTest.java   
@Test
@InSequence(2)
public void sendMessageToDefaultCamelContextInbound(List<Class> events) throws InterruptedException {
    defaultOutbound.expectedMessageCount(1);
    defaultOutbound.expectedBodiesReceived("test-default");
    defaultOutbound.message(0).exchange().matches(fromCamelContext("camel-cdi"));

    defaultInbound.sendBody("test-default");

    assertIsSatisfied(2L, TimeUnit.SECONDS, defaultOutbound);

    assertThat("Events fired are incorrect", events,
        contains(
            CamelContextStartingEvent.class,
            CamelContextStartedEvent.class,
            ExchangeSendingEvent.class,
            ExchangeCreatedEvent.class,
            ExchangeSendingEvent.class,
            ExchangeSentEvent.class,
            ExchangeCompletedEvent.class,
            ExchangeSentEvent.class));
}
项目:Camel    文件:MultiContextEventNotifierTest.java   
@Test
@InSequence(3)
public void sendMessageToFirstCamelContextInbound(@ContextName("first") List<Class> events) throws InterruptedException {
    firstOutbound.expectedMessageCount(1);
    firstOutbound.expectedBodiesReceived("test-first");
    firstOutbound.expectedHeaderReceived("context", "first");
    firstOutbound.message(0).exchange().matches(fromCamelContext("first"));

    firstInbound.sendBody("test-first");

    assertIsSatisfied(2L, TimeUnit.SECONDS, firstOutbound);

    assertThat("Events fired are incorrect", events,
        contains(
            CamelContextStartingEvent.class,
            CamelContextStartedEvent.class,
            ExchangeSendingEvent.class,
            ExchangeCreatedEvent.class,
            ExchangeSendingEvent.class,
            ExchangeSentEvent.class,
            ExchangeCompletedEvent.class,
            ExchangeSentEvent.class));
}
项目:Camel    文件:MultiContextEventNotifierTest.java   
@Test
@InSequence(4)
public void sendMessageToSecondCamelContextInbound(@ContextName("second") List<Class> events) throws InterruptedException {
    secondOutbound.expectedMessageCount(1);
    secondOutbound.expectedBodiesReceived("test-second");
    secondOutbound.expectedHeaderReceived("context", "second");
    secondOutbound.message(0).exchange().matches(fromCamelContext("second"));

    secondInbound.sendBody("test-second");

    assertIsSatisfied(2L, TimeUnit.SECONDS, secondOutbound);

    assertThat("Events fired are incorrect", events,
        contains(
            CamelContextStartingEvent.class,
            CamelContextStartedEvent.class,
            ExchangeSendingEvent.class,
            ExchangeCreatedEvent.class,
            ExchangeSendingEvent.class,
            ExchangeSentEvent.class,
            ExchangeCompletedEvent.class,
            ExchangeSentEvent.class));
}
项目:Camel    文件:CamelEventNotifierTest.java   
@Test
@InSequence(2)
public void sendMessageToInbound(List<Class> events) throws InterruptedException {
    outbound.expectedMessageCount(1);
    outbound.expectedBodiesReceived("test");

    inbound.sendBody("test");

    assertIsSatisfied(2L, TimeUnit.SECONDS, outbound);

    assertThat("Events fired are incorrect!", events,
        contains(
            CamelContextStartingEvent.class,
            CamelContextStartedEvent.class,
            ExchangeSendingEvent.class,
            ExchangeCreatedEvent.class,
            ExchangeSendingEvent.class,
            ExchangeSentEvent.class,
            ExchangeCompletedEvent.class,
            ExchangeSentEvent.class));
}
项目:Camel    文件:CamelEventNotifierTest.java   
@Test
@InSequence(3)
public void stopCamelContext(CamelContext context, List<Class> events) throws Exception {
    context.stop();

    assertThat("Events fired are incorrect!", events,
        contains(
            CamelContextStartingEvent.class,
            CamelContextStartedEvent.class,
            ExchangeSendingEvent.class,
            ExchangeCreatedEvent.class,
            ExchangeSendingEvent.class,
            ExchangeSentEvent.class,
            ExchangeCompletedEvent.class,
            ExchangeSentEvent.class,
            CamelContextStoppingEvent.class,
            CamelContextStoppedEvent.class));
}
项目:switchyard    文件:CamelEventBridgeTest.java   
@Test
public void testEventBridge() throws Exception {
    EventManager eventManager = new EventManager();
    CountingObserver observer = new CountingObserver();
    eventManager.addObserver(observer, CamelContextStartedEvent.class);
    eventManager.addObserver(observer, CamelContextStoppedEvent.class);

    CamelEventBridge eventBridge = new CamelEventBridge(eventManager);
    DefaultCamelContext context = new DefaultCamelContext();
    context.getManagementStrategy().addEventNotifier(eventBridge);

    assertTrue(observer.counter == 0);
    context.start();
    assertTrue(observer.counter == 1);
    context.stop();
    assertTrue(observer.counter == 2);
}
项目:cleverbus    文件:RemoveStAXConverters.java   
/**
 * Remove all converters to {@link StAXSource}.
 *
 * @param event event about finished start of {@link CamelContext}
 * @throws Exception all errors
 */
@Override
public void notify(final EventObject event) throws Exception {
    if (event instanceof CamelContextStartedEvent) {
        CamelContext camelContext = ((CamelContextStartedEvent) event).getContext();

        if (camelContext.getTypeConverterRegistry().removeTypeConverter(StAXSource.class, byte[].class)) {
            Log.debug("Remove converter from '{}' to '{}'.", byte[].class.getSimpleName(),
                    StAXSource.class.getSimpleName());
        }
        if (camelContext.getTypeConverterRegistry().removeTypeConverter(StAXSource.class, File.class)) {
            Log.debug("Remove converter from '{}' to '{}'.", File.class.getSimpleName(),
                    StAXSource.class.getSimpleName());
        }
        if (camelContext.getTypeConverterRegistry().removeTypeConverter(StAXSource.class, InputStream.class)) {
            Log.debug("Remove converter from '{}' to '{}'.", InputStream.class.getSimpleName(),
                    StAXSource.class.getSimpleName());
        }
        if (camelContext.getTypeConverterRegistry().removeTypeConverter(StAXSource.class, String.class)) {
            Log.debug("Remove converter from '{}' to '{}'.", String.class.getSimpleName(),
                    StAXSource.class.getSimpleName());
        }
    }
}
项目:camel-cdi    文件:MultiContextEventNotifierTest.java   
@Test
@InSequence(2)
public void sendMessageToDefaultCamelContextInbound(@Named("defaultContext") List<Class> events) throws InterruptedException {
    defaultOutbound.expectedMessageCount(1);
    defaultOutbound.expectedBodiesReceived("test-default");
    defaultOutbound.message(0).exchange().matches(fromCamelContext("camel-cdi"));

    defaultInbound.sendBody("test-default");

    assertIsSatisfied(2L, TimeUnit.SECONDS, defaultOutbound);

    assertThat("Events fired are incorrect", events,
        contains(
            CamelContextStartingEvent.class,
            CamelContextStartedEvent.class,
            ExchangeSendingEvent.class,
            ExchangeCreatedEvent.class,
            ExchangeSendingEvent.class,
            ExchangeSentEvent.class,
            ExchangeCompletedEvent.class,
            ExchangeSentEvent.class));
}
项目:camel-cdi    文件:MultiContextEventNotifierTest.java   
@Test
@InSequence(3)
public void sendMessageToFirstCamelContextInbound(@ContextName("first") List<Class> events) throws InterruptedException {
    firstOutbound.expectedMessageCount(1);
    firstOutbound.expectedBodiesReceived("test-first");
    firstOutbound.expectedHeaderReceived("context", "first");
    firstOutbound.message(0).exchange().matches(fromCamelContext("first"));

    firstInbound.sendBody("test-first");

    assertIsSatisfied(2L, TimeUnit.SECONDS, firstOutbound);

    assertThat("Events fired are incorrect", events,
        contains(
            CamelContextStartingEvent.class,
            CamelContextStartedEvent.class,
            ExchangeSendingEvent.class,
            ExchangeCreatedEvent.class,
            ExchangeSendingEvent.class,
            ExchangeSentEvent.class,
            ExchangeCompletedEvent.class,
            ExchangeSentEvent.class));
}
项目:camel-cdi    文件:MultiContextEventNotifierTest.java   
@Test
@InSequence(4)
public void sendMessageToSecondCamelContextInbound(@ContextName("second") List<Class> events) throws InterruptedException {
    secondOutbound.expectedMessageCount(1);
    secondOutbound.expectedBodiesReceived("test-second");
    secondOutbound.expectedHeaderReceived("context", "second");
    secondOutbound.message(0).exchange().matches(fromCamelContext("second"));

    secondInbound.sendBody("test-second");

    assertIsSatisfied(2L, TimeUnit.SECONDS, secondOutbound);

    assertThat("Events fired are incorrect", events,
        contains(
            CamelContextStartingEvent.class,
            CamelContextStartedEvent.class,
            ExchangeSendingEvent.class,
            ExchangeCreatedEvent.class,
            ExchangeSendingEvent.class,
            ExchangeSentEvent.class,
            ExchangeCompletedEvent.class,
            ExchangeSentEvent.class));
}
项目:camel-cdi    文件:CamelEventNotifierTest.java   
@Test
@InSequence(2)
public void sendMessageToInbound(List<Class> events) throws InterruptedException {
    outbound.expectedMessageCount(1);
    outbound.expectedBodiesReceived("test");

    inbound.sendBody("test");

    assertIsSatisfied(2L, TimeUnit.SECONDS, outbound);

    assertThat("Events fired are incorrect!", events,
        contains(
            CamelContextStartingEvent.class,
            CamelContextStartedEvent.class,
            ExchangeSendingEvent.class,
            ExchangeCreatedEvent.class,
            ExchangeSendingEvent.class,
            ExchangeSentEvent.class,
            ExchangeCompletedEvent.class,
            ExchangeSentEvent.class));
}
项目:camel-cdi    文件:CamelEventNotifierTest.java   
@Test
@InSequence(3)
public void stopCamelContext(CamelContext context, List<Class> events) throws Exception {
    context.stop();

    assertThat("Events fired are incorrect!", events,
        contains(
            CamelContextStartingEvent.class,
            CamelContextStartedEvent.class,
            ExchangeSendingEvent.class,
            ExchangeCreatedEvent.class,
            ExchangeSendingEvent.class,
            ExchangeSentEvent.class,
            ExchangeCompletedEvent.class,
            ExchangeSentEvent.class,
            CamelContextStoppingEvent.class,
            CamelContextStoppedEvent.class));
}
项目:Camel    文件:Application.java   
void hello(@Observes CamelContextStartedEvent event,
           // Configuration properties can be injected with @ConfigProperty
           @ConfigProperty(name = "message") String message,
           // Property placeholders in @Uri qualifier are also resolved
           @Uri("{{destination}}") ProducerTemplate producer) {
    producer.sendBody(message);
}
项目:Camel    文件:EventNotifierEventsTest.java   
public void testExchangeDone() throws Exception {
    getMockEndpoint("mock:result").expectedMessageCount(1);

    template.sendBody("direct:start", "Hello World");

    assertMockEndpointsSatisfied();

    assertEquals(14, events.size());
    assertIsInstanceOf(CamelContextStartingEvent.class, events.get(0));
    assertIsInstanceOf(RouteAddedEvent.class, events.get(1));
    assertIsInstanceOf(RouteAddedEvent.class, events.get(2));
    assertIsInstanceOf(RouteStartedEvent.class, events.get(3));
    assertIsInstanceOf(RouteStartedEvent.class, events.get(4));
    assertIsInstanceOf(CamelContextStartedEvent.class, events.get(5));
    assertIsInstanceOf(ExchangeCreatedEvent.class, events.get(7));
    assertIsInstanceOf(ExchangeSentEvent.class, events.get(9));
    assertIsInstanceOf(ExchangeSentEvent.class, events.get(11));
    assertIsInstanceOf(ExchangeCompletedEvent.class, events.get(12));

    // this is the sent using the produce template to start the test
    assertIsInstanceOf(ExchangeSentEvent.class, events.get(13));

    context.stop();

    assertEquals(20, events.size());
    assertIsInstanceOf(CamelContextStoppingEvent.class, events.get(14));
    assertIsInstanceOf(RouteStoppedEvent.class, events.get(15));
    assertIsInstanceOf(RouteRemovedEvent.class, events.get(16));
    assertIsInstanceOf(RouteStoppedEvent.class, events.get(17));
    assertIsInstanceOf(RouteRemovedEvent.class, events.get(18));
    assertIsInstanceOf(CamelContextStoppedEvent.class, events.get(19));
}
项目:Camel    文件:EventNotifierEventsTest.java   
public void testExchangeFailed() throws Exception {
    try {
        template.sendBody("direct:fail", "Hello World");
        fail("Should have thrown an exception");
    } catch (Exception e) {
        // expected
        assertIsInstanceOf(IllegalArgumentException.class, e.getCause());
    }

    assertEquals(10, events.size());
    assertIsInstanceOf(CamelContextStartingEvent.class, events.get(0));
    assertIsInstanceOf(RouteAddedEvent.class, events.get(1));
    assertIsInstanceOf(RouteAddedEvent.class, events.get(2));
    assertIsInstanceOf(RouteStartedEvent.class, events.get(3));
    assertIsInstanceOf(RouteStartedEvent.class, events.get(4));
    assertIsInstanceOf(CamelContextStartedEvent.class, events.get(5));
    assertIsInstanceOf(ExchangeSendingEvent.class, events.get(6));
    assertIsInstanceOf(ExchangeCreatedEvent.class, events.get(7));
    assertIsInstanceOf(ExchangeFailedEvent.class, events.get(8));
    // this is the sent using the produce template to start the test
    assertIsInstanceOf(ExchangeSentEvent.class, events.get(9));

    context.stop();

    assertEquals(16, events.size());
    assertIsInstanceOf(CamelContextStoppingEvent.class, events.get(10));
    assertIsInstanceOf(RouteStoppedEvent.class, events.get(11));
    assertIsInstanceOf(RouteRemovedEvent.class, events.get(12));
    assertIsInstanceOf(RouteStoppedEvent.class, events.get(13));
    assertIsInstanceOf(RouteRemovedEvent.class, events.get(14));
    assertIsInstanceOf(CamelContextStoppedEvent.class, events.get(15));
}
项目:Camel    文件:MultipleEventNotifierEventsTest.java   
public void testExchangeFailed() throws Exception {
    try {
        template.sendBody("direct:fail", "Hello World");
        fail("Should have thrown an exception");
    } catch (Exception e) {
        // expected
        assertIsInstanceOf(IllegalArgumentException.class, e.getCause());
    }

    assertEquals(10, events.size());
    assertIsInstanceOf(CamelContextStartingEvent.class, events.get(0));
    assertIsInstanceOf(RouteAddedEvent.class, events.get(1));
    assertIsInstanceOf(RouteAddedEvent.class, events.get(2));
    assertIsInstanceOf(RouteStartedEvent.class, events.get(3));
    assertIsInstanceOf(RouteStartedEvent.class, events.get(4));
    assertIsInstanceOf(CamelContextStartedEvent.class, events.get(5));
    assertIsInstanceOf(ExchangeSendingEvent.class, events.get(6));
    assertIsInstanceOf(ExchangeCreatedEvent.class, events.get(7));
    assertIsInstanceOf(ExchangeFailedEvent.class, events.get(8));
    assertIsInstanceOf(ExchangeSentEvent.class, events.get(9));

    assertEquals(4, events2.size());

    context.stop();
    assertIsInstanceOf(ExchangeSendingEvent.class, events2.get(0));
    assertIsInstanceOf(ExchangeCreatedEvent.class, events2.get(1));
    assertIsInstanceOf(ExchangeFailedEvent.class, events2.get(2));
    assertIsInstanceOf(ExchangeSentEvent.class, events2.get(3));

    assertEquals(16, events.size());
    assertIsInstanceOf(CamelContextStoppingEvent.class, events.get(10));
    assertIsInstanceOf(RouteStoppedEvent.class, events.get(11));
    assertIsInstanceOf(RouteRemovedEvent.class, events.get(12));
    assertIsInstanceOf(RouteStoppedEvent.class, events.get(13));
    assertIsInstanceOf(RouteRemovedEvent.class, events.get(14));
    assertIsInstanceOf(CamelContextStoppedEvent.class, events.get(15));

    assertEquals(4, events2.size());
}
项目:Camel    文件:CamelEventEndpointTest.java   
@Test
public void camelStartedEvent(@Uri("mock:started") MockEndpoint started) {
    assertThat("Event fired is incorrect!", started.getExchanges(),
        contains(
            hasProperty("in",
                hasProperty("body", instanceOf(CamelContextStartedEvent.class)))));
}
项目:Camel    文件:MultiContextEventNotifierTest.java   
@Test
@InSequence(1)
public void configureCamelContexts(List<Class> defaultEvents,
                                   @ContextName("first") List<Class> firstEvents,
                                   @ContextName("second") List<Class> secondEvents,
                                   @Named("anyContext") List<Class> anyEvents) throws Exception {
    secondCamelContext.addRoutes(new RouteBuilder() {
        @Override
        public void configure() {
            from("direct:inbound").setHeader("context").constant("second").to("mock:outbound");
        }
    });

    secondCamelContext.startAllRoutes();

    assertThat("Events fired for any contexts are incorrect", anyEvents,
        everyItem(
            isOneOf(
                CamelContextStartingEvent.class,
                CamelContextStartedEvent.class)));
    assertThat("Events fired for default context are incorrect", defaultEvents,
        contains(
            CamelContextStartingEvent.class,
            CamelContextStartedEvent.class));
    assertThat("Events fired for first context are incorrect", firstEvents,
        contains(
            CamelContextStartingEvent.class,
            CamelContextStartedEvent.class));
    assertThat("Events fired for second context are incorrect", secondEvents,
        contains(
            CamelContextStartingEvent.class,
            CamelContextStartedEvent.class));
}
项目:Camel    文件:CamelEventNotifierTest.java   
@Test
@InSequence(1)
public void startedCamelContext(List<Class> events) {
    assertThat("Events fired are incorrect!", events,
        contains(
            CamelContextStartingEvent.class,
            CamelContextStartedEvent.class));
}
项目:Camel    文件:StartAndStopEventNotifier.java   
@Override
public void notify(EventObject event) throws Exception {
    // Note: there is also a CamelContextStartingEvent which is send first
    // and then Camel is starting. And when all that is done this event
    // (CamelContextStartedEvent) is send
    if (event instanceof CamelContextStartedEvent) {
        log.info("Sending a message on startup...");
        template.sendBody("file:target/startandstop/start.txt", "Starting");
    } else if (event instanceof CamelContextStoppingEvent) {
        // Note: there is also a CamelContextStoppedEvent which is send
        // afterwards, when Camel has been fully stopped.
        log.info("Sending a message on stopping...");
        template.sendBody("file:target/startandstop/stop.txt", "Stopping");
    }
}
项目:camel-cdi    文件:CamelEventEndpointTest.java   
@Test
public void camelStartedEvent(@Uri("mock:started") MockEndpoint started) {
    assertThat("Event fired is incorrect!", started.getExchanges(),
        contains(
            hasProperty("in",
                hasProperty("body", instanceOf(CamelContextStartedEvent.class)))));
}
项目:camel-cdi    文件:MultiContextEventNotifierTest.java   
@Test
@InSequence(1)
public void configureCamelContexts(@Named("defaultContext") List<Class> defaultEvents,
                                   @ContextName("first") List<Class> firstEvents,
                                   @ContextName("second") List<Class> secondEvents,
                                   @Named("anyContext") List<Class> anyEvents) throws Exception {
    secondCamelContext.addRoutes(new RouteBuilder() {
        @Override
        public void configure() {
            from("direct:inbound").setHeader("context").constant("second").to("mock:outbound");
        }
    });

    secondCamelContext.startAllRoutes();

    assertThat("Events fired for any contexts are incorrect", anyEvents,
        everyItem(
            is(oneOf(
                CamelContextStartingEvent.class,
                CamelContextStartedEvent.class))));
    assertThat("Events fired for default context are incorrect", defaultEvents,
        contains(
            CamelContextStartingEvent.class,
            CamelContextStartedEvent.class));
    assertThat("Events fired for first context are incorrect", firstEvents,
        contains(
            CamelContextStartingEvent.class,
            CamelContextStartedEvent.class));
    assertThat("Events fired for second context are incorrect", secondEvents,
        contains(
            CamelContextStartingEvent.class,
            CamelContextStartedEvent.class));
}
项目:camel-cdi    文件:CamelEventNotifierTest.java   
@Test
@InSequence(1)
public void startedCamelContext(List<Class> events) throws Exception {
    assertThat("Events fired are incorrect!", events,
        contains(
            CamelContextStartingEvent.class,
            CamelContextStartedEvent.class));
}
项目:camel-cdi    文件:Application.java   
void hello(@Observes CamelContextStartedEvent event,
           // Configuration properties can be injected with @ConfigProperty
           @ConfigProperty(name = "message") String message,
           // Property placeholders in @Uri qualifier are also resolved
           @Uri("{{destination}}") ProducerTemplate producer) {
    producer.sendBody(message);
}
项目:Camel    文件:Application.java   
void onStart(@Observes CamelContextStartedEvent event, Slf4jReporter reporter) {
    reporter.start(10L, TimeUnit.SECONDS);
}
项目:Camel    文件:Producer.java   
void sendMessage(@Observes CamelContextStartedEvent event, @Uri("sjms:sample.queue") ProducerTemplate producer) {
    producer.sendBodyAndHeader("Sample Message", "Sender", getClass().getSimpleName());
}
项目:Camel    文件:Application.java   
void hello(@Observes CamelContextStartedEvent event) {
    producer.sendBody("Hello");
}
项目:Camel    文件:EventNotifierFailureHandledEventsTest.java   
public void testExchangeDeadLetterChannel() throws Exception {
    context.addRoutes(new RouteBuilder() {
        @Override
        public void configure() throws Exception {
            errorHandler(deadLetterChannel("mock:dead"));

            from("direct:start").throwException(new IllegalArgumentException("Damn"));
        }
    });
    context.start();

    getMockEndpoint("mock:dead").expectedMessageCount(1);
    template.sendBody("direct:start", "Hello World");
    assertMockEndpointsSatisfied();

    assertEquals(12, events.size());
    assertIsInstanceOf(CamelContextStartingEvent.class, events.get(0));
    assertIsInstanceOf(RouteAddedEvent.class, events.get(1));
    assertIsInstanceOf(RouteStartedEvent.class, events.get(2));
    assertIsInstanceOf(CamelContextStartedEvent.class, events.get(3));
    assertIsInstanceOf(ExchangeSendingEvent.class, events.get(4));
    assertIsInstanceOf(ExchangeCreatedEvent.class, events.get(5));

    ExchangeFailureHandlingEvent e0 = assertIsInstanceOf(ExchangeFailureHandlingEvent.class, events.get(6));
    assertEquals("should be DLC", true, e0.isDeadLetterChannel());
    assertEquals("mock://dead", e0.getDeadLetterUri());

    assertIsInstanceOf(ExchangeSendingEvent.class, events.get(7));
    assertIsInstanceOf(ExchangeSentEvent.class, events.get(8));

    ExchangeFailureHandledEvent e = assertIsInstanceOf(ExchangeFailureHandledEvent.class, events.get(9));
    assertEquals("should be DLC", true, e.isDeadLetterChannel());
    assertTrue("should be marked as failure handled", e.isHandled());
    assertFalse("should not be continued", e.isContinued());
    SendProcessor send = assertIsInstanceOf(SendProcessor.class, e.getFailureHandler());
    assertEquals("mock://dead", send.getDestination().getEndpointUri());
    assertEquals("mock://dead", e.getDeadLetterUri());

    // dead letter channel will mark the exchange as completed
    assertIsInstanceOf(ExchangeCompletedEvent.class, events.get(10));
    // and the last event should be the direct:start
    assertIsInstanceOf(ExchangeSentEvent.class, events.get(11));
    ExchangeSentEvent sent = (ExchangeSentEvent) events.get(11);
    assertEquals("direct://start", sent.getEndpoint().getEndpointUri());
}
项目:Camel    文件:EventNotifierFailureHandledEventsTest.java   
public void testExchangeOnException() throws Exception {
    context.addRoutes(new RouteBuilder() {
        @Override
        public void configure() throws Exception {
            onException(IllegalArgumentException.class).handled(true).to("mock:dead");

            from("direct:start").throwException(new IllegalArgumentException("Damn"));
        }
    });
    context.start();

    getMockEndpoint("mock:dead").expectedMessageCount(1);
    template.sendBody("direct:start", "Hello World");
    assertMockEndpointsSatisfied();

    assertEquals(12, events.size());
    assertIsInstanceOf(CamelContextStartingEvent.class, events.get(0));
    assertIsInstanceOf(RouteAddedEvent.class, events.get(1));
    assertIsInstanceOf(RouteStartedEvent.class, events.get(2));
    assertIsInstanceOf(CamelContextStartedEvent.class, events.get(3));
    assertIsInstanceOf(ExchangeSendingEvent.class, events.get(4));
    assertIsInstanceOf(ExchangeCreatedEvent.class, events.get(5));

    ExchangeFailureHandlingEvent e0 = assertIsInstanceOf(ExchangeFailureHandlingEvent.class, events.get(6));
    assertEquals("should NOT be DLC", false, e0.isDeadLetterChannel());

    assertIsInstanceOf(ExchangeSendingEvent.class, events.get(7));
    assertIsInstanceOf(ExchangeSentEvent.class, events.get(8));

    ExchangeFailureHandledEvent e = assertIsInstanceOf(ExchangeFailureHandledEvent.class, events.get(9));
    assertEquals("should NOT be DLC", false, e.isDeadLetterChannel());
    assertTrue("should be marked as failure handled", e.isHandled());
    assertFalse("should not be continued", e.isContinued());

    // onException will handle the exception
    assertIsInstanceOf(ExchangeCompletedEvent.class, events.get(10));
    // and the last event should be the direct:start
    assertIsInstanceOf(ExchangeSentEvent.class, events.get(11));
    ExchangeSentEvent sent = (ExchangeSentEvent) events.get(11);
    assertEquals("direct://start", sent.getEndpoint().getEndpointUri());
}
项目:Camel    文件:EventNotifierFailureHandledEventsTest.java   
public void testExchangeDoTryDoCatch() throws Exception {
    context.addRoutes(new RouteBuilder() {
        @Override
        public void configure() throws Exception {
            from("direct:start")
                .doTry()
                    .throwException(new IllegalArgumentException("Damn"))
                .doCatch(IllegalArgumentException.class)
                    .to("mock:dead")
                .end();
        }
    });
    context.start();

    getMockEndpoint("mock:dead").expectedMessageCount(1);
    template.sendBody("direct:start", "Hello World");
    assertMockEndpointsSatisfied();

    assertEquals(12, events.size());
    assertIsInstanceOf(CamelContextStartingEvent.class, events.get(0));
    assertIsInstanceOf(RouteAddedEvent.class, events.get(1));
    assertIsInstanceOf(RouteStartedEvent.class, events.get(2));
    assertIsInstanceOf(CamelContextStartedEvent.class, events.get(3));
    assertIsInstanceOf(ExchangeSendingEvent.class, events.get(4));
    assertIsInstanceOf(ExchangeCreatedEvent.class, events.get(5));

    ExchangeFailureHandlingEvent e0 = assertIsInstanceOf(ExchangeFailureHandlingEvent.class, events.get(6));
    assertEquals("should NOT be DLC", false, e0.isDeadLetterChannel());

    assertIsInstanceOf(ExchangeSendingEvent.class, events.get(7));
    assertIsInstanceOf(ExchangeSentEvent.class, events.get(8));

    ExchangeFailureHandledEvent e = assertIsInstanceOf(ExchangeFailureHandledEvent.class, events.get(9));
    assertEquals("should NOT be DLC", false, e.isDeadLetterChannel());
    assertFalse("should not be marked as failure handled as it was continued instead", e.isHandled());
    assertTrue("should be continued", e.isContinued());

    // onException will handle the exception
    assertIsInstanceOf(ExchangeCompletedEvent.class, events.get(10));
    // and the last event should be the direct:start
    assertIsInstanceOf(ExchangeSentEvent.class, events.get(11));
    ExchangeSentEvent sent = (ExchangeSentEvent) events.get(11);
    assertEquals("direct://start", sent.getEndpoint().getEndpointUri());
}
项目:Camel    文件:MultipleEventNotifierEventsTest.java   
public void testExchangeDone() throws Exception {
    getMockEndpoint("mock:result").expectedMessageCount(1);

    template.sendBody("direct:start", "Hello World");

    assertMockEndpointsSatisfied();

    assertEquals(14, events.size());
    assertIsInstanceOf(CamelContextStartingEvent.class, events.get(0));
    assertIsInstanceOf(RouteAddedEvent.class, events.get(1));
    assertIsInstanceOf(RouteAddedEvent.class, events.get(2));
    assertIsInstanceOf(RouteStartedEvent.class, events.get(3));
    assertIsInstanceOf(RouteStartedEvent.class, events.get(4));
    assertIsInstanceOf(CamelContextStartedEvent.class, events.get(5));
    assertIsInstanceOf(ExchangeSendingEvent.class, events.get(6));
    assertIsInstanceOf(ExchangeCreatedEvent.class, events.get(7));
    assertIsInstanceOf(ExchangeSendingEvent.class, events.get(8));
    assertIsInstanceOf(ExchangeSentEvent.class, events.get(9));
    assertIsInstanceOf(ExchangeSendingEvent.class, events.get(10));
    assertIsInstanceOf(ExchangeSentEvent.class, events.get(11));
    assertIsInstanceOf(ExchangeCompletedEvent.class, events.get(12));
    assertIsInstanceOf(ExchangeSentEvent.class, events.get(13));

    assertEquals(8, events2.size());
    assertIsInstanceOf(ExchangeSendingEvent.class, events2.get(0));
    assertIsInstanceOf(ExchangeCreatedEvent.class, events2.get(1));
    assertIsInstanceOf(ExchangeSendingEvent.class, events2.get(2));
    assertIsInstanceOf(ExchangeSentEvent.class, events2.get(3));
    assertIsInstanceOf(ExchangeSendingEvent.class, events2.get(4));
    assertIsInstanceOf(ExchangeSentEvent.class, events2.get(5));
    assertIsInstanceOf(ExchangeCompletedEvent.class, events2.get(6));
    assertIsInstanceOf(ExchangeSentEvent.class, events2.get(7));

    context.stop();

    assertEquals(20, events.size());
    assertIsInstanceOf(CamelContextStoppingEvent.class, events.get(14));
    assertIsInstanceOf(RouteStoppedEvent.class, events.get(15));
    assertIsInstanceOf(RouteRemovedEvent.class, events.get(16));
    assertIsInstanceOf(RouteStoppedEvent.class, events.get(17));
    assertIsInstanceOf(RouteRemovedEvent.class, events.get(18));
    assertIsInstanceOf(CamelContextStoppedEvent.class, events.get(19));

    assertEquals(8, events2.size());
}
项目:Camel    文件:CamelEventEndpointTest.java   
@Test
public void camelAllEvents(@Uri("mock:events") MockEndpoint events) {
    assertThat("Events fired are incorrect!", events.getExchanges(),
        // We cannot rely on the delivery order of the camel context started event being fired and observed by both CDI event endpoints
        either(
            contains(
                // Started route: route1
                hasProperty("in", hasProperty("body", instanceOf(ExchangeCreatedEvent.class))),
                hasProperty("in", hasProperty("body", instanceOf(ExchangeSendingEvent.class))),
                hasProperty("in", hasProperty("body", instanceOf(RouteStartedEvent.class))),
                hasProperty("in", hasProperty("body", instanceOf(ExchangeSentEvent.class))),
                hasProperty("in", hasProperty("body", instanceOf(ExchangeCompletedEvent.class))),
                // Started route: route2
                hasProperty("in", hasProperty("body", instanceOf(ExchangeCreatedEvent.class))),
                hasProperty("in", hasProperty("body", instanceOf(ExchangeSendingEvent.class))),
                hasProperty("in", hasProperty("body", instanceOf(RouteStartedEvent.class))),
                hasProperty("in", hasProperty("body", instanceOf(ExchangeSentEvent.class))),
                hasProperty("in", hasProperty("body", instanceOf(ExchangeCompletedEvent.class))),
                // Started CamelContext: camel-cdi
                hasProperty("in", hasProperty("body", instanceOf(ExchangeCreatedEvent.class))),
                hasProperty("in", hasProperty("body", instanceOf(ExchangeSendingEvent.class))),
                hasProperty("in", hasProperty("body", instanceOf(CamelContextStartedEvent.class))),
                hasProperty("in", hasProperty("body", instanceOf(ExchangeSentEvent.class))),
                hasProperty("in", hasProperty("body", instanceOf(ExchangeCompletedEvent.class))),
                // Started CamelContext: camel-cdi (for CdiEventEndpoint<CamelContextStartedEvent> started)
                hasProperty("in", hasProperty("body", instanceOf(ExchangeCreatedEvent.class))),
                hasProperty("in", hasProperty("body", instanceOf(ExchangeSendingEvent.class))),
                hasProperty("in", hasProperty("body", instanceOf(ExchangeSentEvent.class))),
                hasProperty("in", hasProperty("body", instanceOf(ExchangeCompletedEvent.class)))
        )).or(
            contains(
                // Started route: route1
                hasProperty("in", hasProperty("body", instanceOf(ExchangeCreatedEvent.class))),
                hasProperty("in", hasProperty("body", instanceOf(ExchangeSendingEvent.class))),
                hasProperty("in", hasProperty("body", instanceOf(RouteStartedEvent.class))),
                hasProperty("in", hasProperty("body", instanceOf(ExchangeSentEvent.class))),
                hasProperty("in", hasProperty("body", instanceOf(ExchangeCompletedEvent.class))),
                // Started route: route2
                hasProperty("in", hasProperty("body", instanceOf(ExchangeCreatedEvent.class))),
                hasProperty("in", hasProperty("body", instanceOf(ExchangeSendingEvent.class))),
                hasProperty("in", hasProperty("body", instanceOf(RouteStartedEvent.class))),
                hasProperty("in", hasProperty("body", instanceOf(ExchangeSentEvent.class))),
                hasProperty("in", hasProperty("body", instanceOf(ExchangeCompletedEvent.class))),
                // Started CamelContext: camel-cdi (for CdiEventEndpoint<CamelContextStartedEvent> started)
                hasProperty("in", hasProperty("body", instanceOf(ExchangeCreatedEvent.class))),
                hasProperty("in", hasProperty("body", instanceOf(ExchangeSendingEvent.class))),
                hasProperty("in", hasProperty("body", instanceOf(ExchangeSentEvent.class))),
                hasProperty("in", hasProperty("body", instanceOf(ExchangeCompletedEvent.class))),
                // Started CamelContext: camel-cdi
                hasProperty("in", hasProperty("body", instanceOf(ExchangeCreatedEvent.class))),
                hasProperty("in", hasProperty("body", instanceOf(ExchangeSendingEvent.class))),
                hasProperty("in", hasProperty("body", instanceOf(CamelContextStartedEvent.class))),
                hasProperty("in", hasProperty("body", instanceOf(ExchangeSentEvent.class))),
                hasProperty("in", hasProperty("body", instanceOf(ExchangeCompletedEvent.class)))
            )
        )
    );
}
项目:Camel    文件:MultiContextEventNotifierTest.java   
private void onAnyContextStartedEvent(@Observes CamelContextStartedEvent event, @Named("anyContext") List<Class> events) {
    events.add(CamelContextStartedEvent.class);
}
项目:Camel    文件:MultiContextEventNotifierTest.java   
private void onDefaultContextStartedEvent(@Observes @Default CamelContextStartedEvent event, List<Class> events) {
    events.add(CamelContextStartedEvent.class);
}
项目:Camel    文件:MultiContextEventNotifierTest.java   
private void onFirstContextStartedEvent(@Observes @ContextName("first") CamelContextStartedEvent event, @ContextName("first") List<Class> events) {
    events.add(CamelContextStartedEvent.class);
}
项目:Camel    文件:MultiContextEventNotifierTest.java   
private void onSecondContextStartedEvent(@Observes @ContextName("second") CamelContextStartedEvent event, @ContextName("second") List<Class> events) {
    events.add(CamelContextStartedEvent.class);
}
项目:Camel    文件:CamelEventNotifierTest.java   
private void onCamelContextStartedEvent(@Observes CamelContextStartedEvent event, List<Class> events) {
    events.add(CamelContextStartedEvent.class);
}
项目:Camel    文件:OsgiCamelContextPublisher.java   
public boolean isEnabled(EventObject event) {
    if (event instanceof CamelContextStartedEvent || event instanceof CamelContextStoppingEvent) {
        return true;
    }
    return false;
}