本文整理汇总了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);
}
}
}
示例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;
}
示例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;
}
示例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();
}
}
}
示例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());
}
示例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();
}
示例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());
}
示例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();
}
示例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());
}
示例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());
}
示例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);
}
示例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());
}
示例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());
}
示例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());
}
示例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());
}