/** * Returns the root element to be marshalled as XML * * @return */ public Object marshalRootElement() { if (justRoutes) { RoutesDefinition routes = new RoutesDefinition(); routes.setRoutes(contextElement.getRoutes()); return routes; } else { return contextElement; } }
public EcaRoutesDefinition(RoutesDefinition other) { setRoutes(other.getRoutes()); setIntercepts(other.getIntercepts()); setInterceptFroms(other.getInterceptFroms()); setInterceptSendTos(other.getInterceptSendTos()); setOnExceptions(other.getOnExceptions()); setOnCompletions(other.getOnCompletions()); setCamelContext(other.getCamelContext()); setErrorHandlerBuilder(other.getErrorHandlerBuilder()); }
private RoutesDefinition mandatoryConvertToRoutesDefinition(String resource, Object instance) { final RoutesDefinition definitions; if (instance instanceof RoutesDefinition) { definitions = (RoutesDefinition)instance; } else if (instance instanceof RouteDefinition) { definitions = new RoutesDefinition(); definitions.route((RouteDefinition)instance); } else if (instance instanceof RouteBuilder) { RouteBuilder builder = (RouteBuilder)instance; try { builder.configure(); definitions = builder.getRouteCollection(); } catch (Exception e) { LOGGER.warn("Unable to configure resource: " + resource, e); throw ObjectHelper.wrapRuntimeCamelException(e); } } else { throw new IllegalArgumentException("Unable to convert instance: " + instance); } return definitions; } }
@Override public void install(File file) throws Exception { try (InputStream is = new FileInputStream(file)) { List<RouteDefinition> routeDefinitions; LOGGER.info("Loading route path: {}", file.getName()); routeDefinitions = camelContext.loadRoutesDefinition(is).getRoutes(); camelContext.addRouteDefinitions(routeDefinitions); processedFiles.put(file, routeDefinitions); camelContext.startAllRoutes(); } catch (Exception e) { LOGGER.warn("Failed to read route definition. See debug log for stack trace."); LOGGER.debug(e.getMessage(), e); } }
/** * Returns the root element to be marshalled as XML * * @return */ public Object marshalRootElement() { if (justRoutes) { RoutesDefinition routes = new RoutesDefinition(); routes.setRoutes(contextElement.getRoutes()); return routes; } else { return contextElement; } }
private void loadRouteDefinitions(final List<String> routes) { try { RoutesDefinition routeDefs = camelContext.loadRoutesDefinition( IOUtils.toInputStream("<routes xmlns=\"http://camel.apache.org/schema/spring\">" + StringUtils.join(routes) + "</routes>", StandardCharsets.UTF_8)); camelContext.addRouteDefinitions(routeDefs.getRoutes()); } catch (Exception e) { LOG.error("While adding route definitions into Camel Context {}", camelContext, e); throw new CamelException(e); } }
@Override public void afterApplicationStart(CamelContext camelContext) { RoutesDefinition routes = new RoutesDefinition(); routes.setRoutes(camelContext.getRouteDefinitions()); try { if (LOGGER.isDebugEnabled()) { LOGGER.debug("Routes: \n{}", ModelHelper.dumpModelAsXml(camelContext, routes)); } } catch (JAXBException e) { throw new IllegalArgumentException(e); } } };
private void loadXmlRoutes(ApplicationContext applicationContext, CamelContext camelContext, String directory) throws Exception { String[] parts = directory.split(","); for (String part : parts) { LOG.info("Loading additional Camel XML routes from: {}", part); try { Resource[] xmlRoutes = applicationContext.getResources(part); for (Resource xmlRoute : xmlRoutes) { LOG.debug("Found XML route: {}", xmlRoute); RoutesDefinition xmlDefinition = camelContext.loadRoutesDefinition(xmlRoute.getInputStream()); camelContext.addRouteDefinitions(xmlDefinition.getRoutes()); } } catch (FileNotFoundException e) { LOG.debug("No XML routes found in {}. Skipping XML routes detection.", part); } } }
protected void dumpRoutes(CamelContext context) { RoutesDefinition definition = new RoutesDefinition(); definition.setRoutes(context.getRouteDefinitions()); dumpRoutes(context, definition); }
@Override public void applyRoutes(CamelContext camelContext) throws Exception { CamelRunner.removeMissingRoutes(camelContext, this.builder.getRouteCollection().getRoutes()); camelContext.addRoutes(this.builder); } }
for (RouteDefinition rd : routesDefinition.getRoutes()) { camelContext.startRoute(rd);
camelContext.addRouteDefinitions(routesDefinition.getRoutes()); is.close(); } catch (Throwable e) {
/** * Create a new route from the given RouteBuilder instance and service name. * @param routeBuilder RouteBuilder instance containing an @Route definition * @param camelContext CamelContext * @param namespace the namespace to append to switchyard:// service URIs * @return the route definition */ public static List<RouteDefinition> createRoute(RouteBuilder routeBuilder, SwitchYardCamelContext camelContext, String namespace) { // Create the route and tell it to create a route try { if (camelContext != null) { routeBuilder.setContext(camelContext); } routeBuilder.configure(); List<RouteDefinition> routes = routeBuilder.getRouteCollection().getRoutes(); if (routes.isEmpty()) { throw CamelComponentMessages.MESSAGES.noRoutesFoundinJavaDSLClass(routeBuilder.getClass().getName()); } return routes; } catch (Exception ex) { throw CamelComponentMessages.MESSAGES.failedToInitializeDSLClass(routeBuilder.getClass().getName(), ex); } }
public void stop(int code) { try { getContext().removeRouteDefinitions(getRouteCollection().getRoutes()); } catch (Exception e) { LOGGER.error("Could not stop route: {}", toString(), e); } }
InputStream routesXml = new ByteArrayInputStream(routePropertyValue.toString().getBytes()); RoutesDefinition loadedRoutes = camelContext.loadRoutesDefinition(routesXml); camelContext.addRouteDefinitions(loadedRoutes.getRoutes());
private void loadFragments(Step step) { if (StepKind.extension != step.getStepKind()) { return; } final StepAction action = step.getAction().filter(StepAction.class::isInstance).map(StepAction.class::cast).get(); if (action.getDescriptor().getKind() == StepAction.Kind.ENDPOINT) { final CamelContext context = getContext(); final String resource = action.getDescriptor().getResource(); if (ObjectHelper.isNotEmpty(resource) && resources.add(resource)) { final Object instance = mandatoryLoadResource(context, resource); final RoutesDefinition definitions = mandatoryConvertToRoutesDefinition(resource, instance); LOGGER.debug("Resolved resource: {} as {}", resource, instance.getClass()); try { context.addRouteDefinitions(definitions.getRoutes()); } catch (Exception e) { throw new IllegalStateException(e); } } } }
try { final RoutesDefinition definition = model.loadRoutesDefinition(this.getClass().getResourceAsStream("/" + routeResource)); model.addRouteDefinitions(definition.getRoutes()); stats.incDeployed(); } catch (Exception e) {
routes = processCamelContextElement((CamelContextFactoryBean)obj, camelContext); } else if (obj instanceof RoutesDefinition) { routes = ((RoutesDefinition)obj).getRoutes(); } else if (obj instanceof RouteDefinition) { routes = new ArrayList<RouteDefinition>(1);
public class ContextStartEventListener extends EventNotifierSupport implements ApplicationContextAware { private ApplicationContext applicationContext; @Override public void setApplicationContext(ApplicationContext applicationContext) { this.applicationContext = applicationContext; } @Override public void notify(EventObject event) throws Exception { if (event instanceof CamelContextStartedEvent) { try { CamelContextStartedEvent startedEvent = (CamelContextStartedEvent) event; DefaultCamelContext context=(DefaultCamelContext)startedEvent.getContext(); Resource[] xmlResources=applicationContext.getResources("classpath*:net/**/route.xml"); for (int i=0;i<xmlResources.length;i++) { InputStream is = xmlResources[i].getInputStream(); RoutesDefinition routes = context.loadRoutesDefinition(is); context.addRouteDefinitions(routes.getRoutes()); } } catch (Throwable ex) { // do something on error } } } ...