当前位置: 首页>>代码示例>>Java>>正文


Java RouteStartupOrder类代码示例

本文整理汇总了Java中org.apache.camel.spi.RouteStartupOrder的典型用法代码示例。如果您正苦于以下问题:Java RouteStartupOrder类的具体用法?Java RouteStartupOrder怎么用?Java RouteStartupOrder使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


RouteStartupOrder类属于org.apache.camel.spi包,在下文中一共展示了RouteStartupOrder类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: shutdownRoutesNow

import org.apache.camel.spi.RouteStartupOrder; //导入依赖的package包/类
/**
 * Shutdown all the consumers immediately.
 *
 * @param routes the routes to shutdown
 */
protected void shutdownRoutesNow(List<RouteStartupOrder> routes) {
    for (RouteStartupOrder order : routes) {

        // set the route to shutdown as fast as possible by stopping after
        // it has completed its current task
        ShutdownRunningTask current = order.getRoute().getRouteContext().getShutdownRunningTask();
        if (current != ShutdownRunningTask.CompleteCurrentTaskOnly) {
            LOG.debug("Changing shutdownRunningTask from {} to " +  ShutdownRunningTask.CompleteCurrentTaskOnly
                + " on route {} to shutdown faster", current, order.getRoute().getId());
            order.getRoute().getRouteContext().setShutdownRunningTask(ShutdownRunningTask.CompleteCurrentTaskOnly);
        }

        for (Consumer consumer : order.getInputs()) {
            shutdownNow(consumer);
        }
    }
}
 
开发者ID:HydAu,项目名称:Camel,代码行数:23,代码来源:DefaultShutdownStrategy.java

示例2: getPendingInflightExchanges

import org.apache.camel.spi.RouteStartupOrder; //导入依赖的package包/类
/**
 * Calculates the total number of inflight exchanges for the given route
 *
 * @param order the route
 * @return number of inflight exchanges
 */
protected static int getPendingInflightExchanges(RouteStartupOrder order) {
    int inflight = 0;

    // the consumer is the 1st service so we always get the consumer
    // the child services are EIPs in the routes which may also have pending
    // inflight exchanges (such as the aggregator)
    for (Service service : order.getServices()) {
        Set<Service> children = ServiceHelper.getChildServices(service);
        for (Service child : children) {
            if (child instanceof ShutdownAware) {
                inflight += ((ShutdownAware) child).getPendingExchangesSize();
            }
        }
    }

    return inflight;
}
 
开发者ID:HydAu,项目名称:Camel,代码行数:24,代码来源:DefaultShutdownStrategy.java

示例3: stopRoute

import org.apache.camel.spi.RouteStartupOrder; //导入依赖的package包/类
public synchronized boolean stopRoute(String routeId, long timeout, TimeUnit timeUnit, boolean abortAfterTimeout) throws Exception {
    RouteService routeService = routeServices.get(routeId);
    if (routeService != null) {
        RouteStartupOrder route = new DefaultRouteStartupOrder(1, routeService.getRoutes().iterator().next(), routeService);

        boolean completed = getShutdownStrategy().shutdown(this, route, timeout, timeUnit, abortAfterTimeout);
        if (completed) {
            // must stop route service as well
            stopRouteService(routeService, false);
        } else {
            // shutdown was aborted, make sure route is re-started properly
            startRouteService(routeService, false);
        }
        return completed;
    }
    return false;
}
 
开发者ID:HydAu,项目名称:Camel,代码行数:18,代码来源:DefaultCamelContext.java

示例4: suspendRoute

import org.apache.camel.spi.RouteStartupOrder; //导入依赖的package包/类
public synchronized void suspendRoute(String routeId) throws Exception {
    if (!routeSupportsSuspension(routeId)) {
        // stop if we suspend is not supported
        stopRoute(routeId);
        return;
    }

    RouteService routeService = routeServices.get(routeId);
    if (routeService != null) {
        List<RouteStartupOrder> routes = new ArrayList<RouteStartupOrder>(1);
        Route route = routeService.getRoutes().iterator().next();
        RouteStartupOrder order = new DefaultRouteStartupOrder(1, route, routeService);
        routes.add(order);

        getShutdownStrategy().suspend(this, routes);
        // must suspend route service as well
        suspendRouteService(routeService);
        // must suspend the route as well
        if (route instanceof SuspendableService) {
            ((SuspendableService) route).suspend();
        }
    }
}
 
开发者ID:HydAu,项目名称:Camel,代码行数:24,代码来源:DefaultCamelContext.java

示例5: testRouteStartupOrder

import org.apache.camel.spi.RouteStartupOrder; //导入依赖的package包/类
public void testRouteStartupOrder() throws Exception {
    MockEndpoint mock = getMockEndpoint("mock:result");
    mock.expectedMessageCount(1);

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

    assertMockEndpointsSatisfied();

    // assert correct order
    DefaultCamelContext dcc = (DefaultCamelContext) context;
    List<RouteStartupOrder> order = dcc.getRouteStartupOrder();

    assertEquals(2, order.size());
    assertEquals("direct://start", order.get(0).getRoute().getEndpoint().getEndpointUri());
    assertEquals("seda://foo", order.get(1).getRoute().getEndpoint().getEndpointUri());
}
 
开发者ID:HydAu,项目名称:Camel,代码行数:17,代码来源:RouteStartupOrderSimpleTest.java

示例6: testRouteShutdownNotReverseOrder

import org.apache.camel.spi.RouteStartupOrder; //导入依赖的package包/类
public void testRouteShutdownNotReverseOrder() throws Exception {
    // flip to not reverse
    context.getShutdownStrategy().setShutdownRoutesInReverseOrder(false);

    MockEndpoint mock = getMockEndpoint("mock:result");
    mock.expectedMessageCount(1);

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

    assertMockEndpointsSatisfied();

    // assert correct startup order
    DefaultCamelContext dcc = (DefaultCamelContext) context;
    List<RouteStartupOrder> order = dcc.getRouteStartupOrder();

    assertEquals(2, order.size());
    assertEquals("direct://bar", order.get(0).getRoute().getEndpoint().getEndpointUri());
    assertEquals("direct://foo", order.get(1).getRoute().getEndpoint().getEndpointUri());

    // assert correct shutdown order
    context.stop();
}
 
开发者ID:HydAu,项目名称:Camel,代码行数:23,代码来源:RouteShutdownNotReverseOrderTest.java

示例7: testRouteStartupOrder

import org.apache.camel.spi.RouteStartupOrder; //导入依赖的package包/类
public void testRouteStartupOrder() throws Exception {
    MockEndpoint mock = getMockEndpoint("mock:result");
    mock.expectedMessageCount(1);

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

    assertMockEndpointsSatisfied();

    // assert correct order
    DefaultCamelContext dcc = (DefaultCamelContext) context;
    List<RouteStartupOrder> order = dcc.getRouteStartupOrder();

    assertEquals(5, order.size());
    assertEquals("seda://foo", order.get(0).getRoute().getEndpoint().getEndpointUri());
    assertEquals("direct://start", order.get(1).getRoute().getEndpoint().getEndpointUri());
    assertEquals("seda://bar", order.get(2).getRoute().getEndpoint().getEndpointUri());
    assertEquals("direct://bar", order.get(3).getRoute().getEndpoint().getEndpointUri());
    // the one with no startup order should be last
    assertEquals("direct://default", order.get(4).getRoute().getEndpoint().getEndpointUri());
}
 
开发者ID:HydAu,项目名称:Camel,代码行数:21,代码来源:RouteStartupOrderWithDefaultTest.java

示例8: testRouteShutdownReverseOrder

import org.apache.camel.spi.RouteStartupOrder; //导入依赖的package包/类
public void testRouteShutdownReverseOrder() throws Exception {
    MockEndpoint mock = getMockEndpoint("mock:result");
    mock.expectedMessageCount(1);

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

    assertMockEndpointsSatisfied();

    // assert correct startup order
    DefaultCamelContext dcc = (DefaultCamelContext) context;
    List<RouteStartupOrder> order = dcc.getRouteStartupOrder();

    assertEquals(2, order.size());
    assertEquals("direct://bar", order.get(0).getRoute().getEndpoint().getEndpointUri());
    assertEquals("direct://foo", order.get(1).getRoute().getEndpoint().getEndpointUri());

    // assert correct shutdown order
    context.stop();
}
 
开发者ID:HydAu,项目名称:Camel,代码行数:20,代码来源:RouteShutdownReverseOrderTest.java

示例9: testRouteStartupOrderSuspendResumeNoAutoStartup

import org.apache.camel.spi.RouteStartupOrder; //导入依赖的package包/类
public void testRouteStartupOrderSuspendResumeNoAutoStartup() throws Exception {
    MockEndpoint mock = getMockEndpoint("mock:result");
    mock.expectedMessageCount(1);

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

    assertMockEndpointsSatisfied();

    context.suspend();
    context.resume();

    // route C should still be stopped after we have resumed
    assertEquals(true, context.getRouteStatus("C").isStopped());

    // assert correct order
    DefaultCamelContext dcc = (DefaultCamelContext) context;
    List<RouteStartupOrder> order = dcc.getRouteStartupOrder();

    assertEquals(3, order.size());
    assertEquals("direct://foo", order.get(0).getRoute().getEndpoint().getEndpointUri());
    assertEquals("direct://start", order.get(1).getRoute().getEndpoint().getEndpointUri());
    assertEquals("direct://bar", order.get(2).getRoute().getEndpoint().getEndpointUri());
}
 
开发者ID:HydAu,项目名称:Camel,代码行数:24,代码来源:RouteStartupOrderSuspendResumeNoAutoStartupTest.java

示例10: testRouteStartupOrder

import org.apache.camel.spi.RouteStartupOrder; //导入依赖的package包/类
public void testRouteStartupOrder() throws Exception {
    MockEndpoint mock = getMockEndpoint("mock:result");
    mock.expectedMessageCount(1);

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

    assertMockEndpointsSatisfied();

    // assert correct order
    DefaultCamelContext dcc = (DefaultCamelContext) context;
    List<RouteStartupOrder> order = dcc.getRouteStartupOrder();

    assertEquals(2, order.size());
    assertEquals("direct://bar", order.get(0).getRoute().getEndpoint().getEndpointUri());
    assertEquals("direct://foo", order.get(1).getRoute().getEndpoint().getEndpointUri());
}
 
开发者ID:HydAu,项目名称:Camel,代码行数:17,代码来源:RouteStartupOrderDirectTest.java

示例11: testRouteServiceStartupOrder

import org.apache.camel.spi.RouteStartupOrder; //导入依赖的package包/类
public void testRouteServiceStartupOrder() throws Exception {
    MockEndpoint mock = getMockEndpoint("mock:result");
    mock.expectedMessageCount(1);

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

    assertMockEndpointsSatisfied();

    // assert correct order
    DefaultCamelContext dcc = (DefaultCamelContext) context;
    List<RouteStartupOrder> order = dcc.getRouteStartupOrder();

    assertEquals(4, order.size());
    assertEquals("seda://foo", order.get(0).getRoute().getEndpoint().getEndpointUri());
    assertEquals("direct://start", order.get(1).getRoute().getEndpoint().getEndpointUri());
    assertEquals("seda://bar", order.get(2).getRoute().getEndpoint().getEndpointUri());
    assertEquals("direct://bar", order.get(3).getRoute().getEndpoint().getEndpointUri());

    // assert route service was started in order as well
    assertEquals("2143", startOrder);
}
 
开发者ID:HydAu,项目名称:Camel,代码行数:22,代码来源:RouteServicesStartupOrderTest.java

示例12: testRouteStartupOrder

import org.apache.camel.spi.RouteStartupOrder; //导入依赖的package包/类
public void testRouteStartupOrder() throws Exception {
    MockEndpoint mock = getMockEndpoint("mock:result");
    mock.expectedMessageCount(1);

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

    assertMockEndpointsSatisfied();

    // assert correct order
    DefaultCamelContext dcc = (DefaultCamelContext) context;
    List<RouteStartupOrder> order = dcc.getRouteStartupOrder();

    assertEquals(4, order.size());
    assertEquals("seda://foo", order.get(0).getRoute().getEndpoint().getEndpointUri());
    assertEquals("direct://start", order.get(1).getRoute().getEndpoint().getEndpointUri());
    assertEquals("seda://bar", order.get(2).getRoute().getEndpoint().getEndpointUri());
    assertEquals("direct://bar", order.get(3).getRoute().getEndpoint().getEndpointUri());
}
 
开发者ID:HydAu,项目名称:Camel,代码行数:19,代码来源:RouteStartupOrderTest.java

示例13: testRouteStartupOrder

import org.apache.camel.spi.RouteStartupOrder; //导入依赖的package包/类
public void testRouteStartupOrder() throws Exception {
    MockEndpoint mock = getMockEndpoint("mock:result");
    mock.expectedMessageCount(1);

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

    assertMockEndpointsSatisfied();

    // assert correct order
    DefaultCamelContext dcc = (DefaultCamelContext) context;
    List<RouteStartupOrder> order = dcc.getRouteStartupOrder();

    assertEquals(2, order.size());
    assertEquals("direct://bar", order.get(1).getRoute().getEndpoint().getEndpointUri());
    assertEquals("direct://foo", order.get(0).getRoute().getEndpoint().getEndpointUri());
}
 
开发者ID:HydAu,项目名称:Camel,代码行数:17,代码来源:RouteStartupOrderDirectReverseTest.java

示例14: testRouteStartupOrderSuspendResume

import org.apache.camel.spi.RouteStartupOrder; //导入依赖的package包/类
public void testRouteStartupOrderSuspendResume() throws Exception {
    MockEndpoint mock = getMockEndpoint("mock:result");
    mock.expectedMessageCount(1);

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

    assertMockEndpointsSatisfied();

    context.suspend();
    context.resume();

    // assert correct order
    DefaultCamelContext dcc = (DefaultCamelContext) context;
    List<RouteStartupOrder> order = dcc.getRouteStartupOrder();

    assertEquals(4, order.size());
    assertEquals("direct://foo", order.get(0).getRoute().getEndpoint().getEndpointUri());
    assertEquals("direct://start", order.get(1).getRoute().getEndpoint().getEndpointUri());
    assertEquals("direct://baz", order.get(2).getRoute().getEndpoint().getEndpointUri());
    assertEquals("direct://bar", order.get(3).getRoute().getEndpoint().getEndpointUri());
}
 
开发者ID:HydAu,项目名称:Camel,代码行数:22,代码来源:RouteStartupOrderSuspendResumeTest.java

示例15: testJmsDirectStartupOrderIssue

import org.apache.camel.spi.RouteStartupOrder; //导入依赖的package包/类
@Test
public void testJmsDirectStartupOrderIssue() throws Exception {
    // send messages to queue so there is messages on the queue before we start the route
    template.sendBody("activemq:queue:foo", "Hello World");
    template.sendBody("activemq:queue:foo", "Hello Camel");
    template.sendBody("activemq:queue:foo", "Bye World");
    template.sendBody("activemq:queue:foo", "Bye Camel");

    context.startRoute("amq");

    getMockEndpoint("mock:result").expectedMessageCount(4);

    assertMockEndpointsSatisfied();

    DefaultCamelContext dcc = (DefaultCamelContext) context;
    List<RouteStartupOrder> order = dcc.getRouteStartupOrder();
    assertEquals(2, order.size());
    assertEquals(1, order.get(0).getStartupOrder());
    assertEquals("direct", order.get(0).getRoute().getId());
    assertEquals(100, order.get(1).getStartupOrder());
    assertEquals("amq", order.get(1).getRoute().getId());
}
 
开发者ID:HydAu,项目名称:Camel,代码行数:23,代码来源:JmsDirectStartupOrderIssueTest.java


注:本文中的org.apache.camel.spi.RouteStartupOrder类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。