Search in sources :

Example 81 with CamelExecutionException

use of org.apache.camel.CamelExecutionException in project camel by apache.

the class SimpleScheduledRoutePolicyTest method testScheduledSuspendAndResumeRoutePolicy.

@Test
public void testScheduledSuspendAndResumeRoutePolicy() throws Exception {
    MockEndpoint success = context.getEndpoint("mock:success", MockEndpoint.class);
    success.expectedMessageCount(1);
    context.getComponent("quartz", QuartzComponent.class).setPropertiesFile("org/apache/camel/routepolicy/quartz/myquartz.properties");
    context.addRoutes(new RouteBuilder() {

        public void configure() {
            SimpleScheduledRoutePolicy policy = new SimpleScheduledRoutePolicy();
            long suspendTime = System.currentTimeMillis() + 1000L;
            policy.setRouteSuspendDate(new Date(suspendTime));
            policy.setRouteSuspendRepeatCount(0);
            long resumeTime = System.currentTimeMillis() + 4000L;
            policy.setRouteResumeDate(new Date(resumeTime));
            policy.setRouteResumeRepeatCount(1);
            policy.setRouteResumeRepeatInterval(3000);
            from("direct:start").routeId("test").routePolicy(policy).to("mock:success");
        }
    });
    context.start();
    Thread.sleep(1000);
    try {
        template.sendBody("direct:start", "Ready or not, Here, I come");
        fail("Should have thrown an exception");
    } catch (CamelExecutionException e) {
        LOG.debug("Consumer successfully suspended");
    }
    Thread.sleep(4000);
    template.sendBody("direct:start", "Ready or not, Here, I come");
    context.getComponent("quartz", QuartzComponent.class).stop();
    success.assertIsSatisfied();
}
Also used : CamelExecutionException(org.apache.camel.CamelExecutionException) RouteBuilder(org.apache.camel.builder.RouteBuilder) MockEndpoint(org.apache.camel.component.mock.MockEndpoint) Date(java.util.Date) QuartzComponent(org.apache.camel.component.quartz.QuartzComponent) Test(org.junit.Test)

Example 82 with CamelExecutionException

use of org.apache.camel.CamelExecutionException in project camel by apache.

the class SimpleScheduledRoutePolicyTest method testScheduledStopRoutePolicy.

@Test
public void testScheduledStopRoutePolicy() throws Exception {
    context.getComponent("quartz", QuartzComponent.class).setPropertiesFile("org/apache/camel/routepolicy/quartz/myquartz.properties");
    context.addRoutes(new RouteBuilder() {

        public void configure() {
            SimpleScheduledRoutePolicy policy = new SimpleScheduledRoutePolicy();
            long startTime = System.currentTimeMillis() + 3000;
            policy.setRouteStopDate(new Date(startTime));
            policy.setRouteStopRepeatCount(1);
            policy.setRouteStopRepeatInterval(3000);
            from("direct:start").routeId("test").routePolicy(policy).to("mock:unreachable");
        }
    });
    context.start();
    Thread.sleep(4000);
    assertTrue(context.getRouteStatus("test") == ServiceStatus.Stopped);
    boolean consumerStopped = false;
    try {
        template.sendBody("direct:start", "Ready or not, Here, I come");
    } catch (CamelExecutionException e) {
        consumerStopped = true;
    }
    assertTrue(consumerStopped);
    context.getComponent("quartz", QuartzComponent.class).stop();
}
Also used : CamelExecutionException(org.apache.camel.CamelExecutionException) RouteBuilder(org.apache.camel.builder.RouteBuilder) Date(java.util.Date) QuartzComponent(org.apache.camel.component.quartz.QuartzComponent) Test(org.junit.Test)

Example 83 with CamelExecutionException

use of org.apache.camel.CamelExecutionException in project camel by apache.

the class SpringScheduledRoutePolicyTest method suspendTest.

public void suspendTest() throws Exception {
    boolean consumerSuspended = false;
    CamelContext context = startRouteWithPolicy("suspendPolicy");
    Thread.sleep(4000);
    try {
        context.createProducerTemplate().sendBody("direct:start", "Ready or not, Here, I come");
    } catch (CamelExecutionException e) {
        consumerSuspended = true;
    }
    context.stop();
    assertTrue(consumerSuspended);
}
Also used : CamelContext(org.apache.camel.CamelContext) ModelCamelContext(org.apache.camel.model.ModelCamelContext) DefaultCamelContext(org.apache.camel.impl.DefaultCamelContext) CamelExecutionException(org.apache.camel.CamelExecutionException)

Example 84 with CamelExecutionException

use of org.apache.camel.CamelExecutionException in project camel by apache.

the class SimpleScheduledRoutePolicyTest method testScheduledSuspendRoutePolicy.

@Test
public void testScheduledSuspendRoutePolicy() throws Exception {
    context.getComponent("quartz2", QuartzComponent.class).setPropertiesFile("org/apache/camel/routepolicy/quartz2/myquartz.properties");
    context.addRoutes(new RouteBuilder() {

        public void configure() {
            SimpleScheduledRoutePolicy policy = new SimpleScheduledRoutePolicy();
            long startTime = System.currentTimeMillis() + 3000L;
            policy.setRouteSuspendDate(new Date(startTime));
            policy.setRouteSuspendRepeatCount(1);
            policy.setRouteSuspendRepeatInterval(3000);
            from("direct:start").routeId("test").routePolicy(policy).to("mock:unreachable");
        }
    });
    context.start();
    Thread.sleep(4000);
    boolean consumerSuspended = false;
    try {
        template.sendBody("direct:start", "Ready or not, Here, I come");
    } catch (CamelExecutionException e) {
        consumerSuspended = true;
    }
    assertTrue(consumerSuspended);
    context.getComponent("quartz2", QuartzComponent.class).stop();
}
Also used : CamelExecutionException(org.apache.camel.CamelExecutionException) RouteBuilder(org.apache.camel.builder.RouteBuilder) Date(java.util.Date) QuartzComponent(org.apache.camel.component.quartz2.QuartzComponent) Test(org.junit.Test)

Example 85 with CamelExecutionException

use of org.apache.camel.CamelExecutionException in project camel by apache.

the class SimpleScheduledRoutePolicyTest method testScheduledSuspendAndRestartPolicy.

@Test
public void testScheduledSuspendAndRestartPolicy() throws Exception {
    MockEndpoint success = context.getEndpoint("mock:success", MockEndpoint.class);
    success.expectedMessageCount(1);
    context.getComponent("quartz2", QuartzComponent.class).setPropertiesFile("org/apache/camel/routepolicy/quartz2/myquartz.properties");
    context.addRoutes(new RouteBuilder() {

        public void configure() {
            SimpleScheduledRoutePolicy policy = new SimpleScheduledRoutePolicy();
            long suspendTime = System.currentTimeMillis() + 1000L;
            policy.setRouteSuspendDate(new Date(suspendTime));
            policy.setRouteSuspendRepeatCount(0);
            long startTime = System.currentTimeMillis() + 4000L;
            policy.setRouteStartDate(new Date(startTime));
            policy.setRouteResumeRepeatCount(1);
            policy.setRouteResumeRepeatInterval(3000);
            from("direct:start").routeId("test").routePolicy(policy).to("mock:success");
        }
    });
    context.start();
    Thread.sleep(1000);
    try {
        template.sendBody("direct:start", "Ready or not, Here, I come");
        fail("Should have thrown an exception");
    } catch (CamelExecutionException e) {
        LOG.debug("Consumer successfully suspended");
    }
    Thread.sleep(4000);
    template.sendBody("direct:start", "Ready or not, Here, I come");
    context.getComponent("quartz2", QuartzComponent.class).stop();
    success.assertIsSatisfied();
}
Also used : CamelExecutionException(org.apache.camel.CamelExecutionException) RouteBuilder(org.apache.camel.builder.RouteBuilder) MockEndpoint(org.apache.camel.component.mock.MockEndpoint) Date(java.util.Date) QuartzComponent(org.apache.camel.component.quartz2.QuartzComponent) Test(org.junit.Test)

Aggregations

CamelExecutionException (org.apache.camel.CamelExecutionException)156 RouteBuilder (org.apache.camel.builder.RouteBuilder)69 Test (org.junit.Test)64 MockEndpoint (org.apache.camel.component.mock.MockEndpoint)59 Exchange (org.apache.camel.Exchange)23 CamelContext (org.apache.camel.CamelContext)20 Processor (org.apache.camel.Processor)17 ProducerTemplate (org.apache.camel.ProducerTemplate)17 CamelExchangeException (org.apache.camel.CamelExchangeException)13 DefaultCamelContext (org.apache.camel.impl.DefaultCamelContext)13 IOException (java.io.IOException)12 Date (java.util.Date)11 StopWatch (org.apache.camel.util.StopWatch)10 ExchangeTimedOutException (org.apache.camel.ExchangeTimedOutException)7 Set (java.util.Set)6 Subject (javax.security.auth.Subject)6 ConstraintViolation (javax.validation.ConstraintViolation)6 FailedLoginException (javax.security.auth.login.FailedLoginException)5 QuartzComponent (org.apache.camel.component.quartz.QuartzComponent)5 File (java.io.File)4