public void configure() throws Exception { errorHandler(deadLetterChannel("seda:errors")); // We pool the atom feeds from the source for further processing in the seda queue // we set the delay to 1 second for each pool. // Using splitEntries=true will during polling only fetch one RSS Entry at any given time. from("rss:" + VERTX_BLOG_ATOM + "?splitEntries=true&consumer.delay=100").to("seda:feeds"); from("seda:feeds") // Filter .filter().method("filterService", "isRelease") // Transform (extract) .transform(simple("${body.entries[0].title}")) // Output .to("seda:announce"); } };
public void configure() { from("file:data/inbox?noop=true") .unmarshal() .json(JsonLibrary.Gson) .process(exchange -> { System.out.format(" %s%n", exchange.getIn().getBody()); }) .filter(body().convertToString().contains("uke")) .marshal() .json(JsonLibrary.Gson) .to("file:data/outbox"); } });
@Override public void configure() throws Exception { from("direct:start") .filter(header("userStatus").isEqualTo("valid")) .to("mock:valid") .end() .to("mock:all"); }
@Override public void configure() throws Exception { Map<StubConfiguration, Collection<Contract>> contracts = batchStubRunner .getContracts(); for (Map.Entry<StubConfiguration, Collection<Contract>> entry : contracts .entrySet()) { Collection<Contract> value = entry.getValue(); MultiValueMap<String, Contract> map = new LinkedMultiValueMap<>(); for (Contract dsl : value) { if (dsl == null) { continue; } if (dsl.getInput() != null && dsl.getInput() .getMessageFrom() != null && StringUtils.hasText( dsl.getInput().getMessageFrom().getClientValue())) { String from = dsl.getInput().getMessageFrom() .getClientValue(); map.add(from, dsl); } } for (Map.Entry<String, List<Contract>> entries : map.entrySet()) { from(entries.getKey()) .filter(new StubRunnerCamelPredicate(entries.getValue())) .process(new StubRunnerCamelProcessor()) .dynamicRouter(header(StubRunnerCamelConfiguration.STUBRUNNER_DESTINATION_URL_HEADER_NAME)); } } } };
protected RouteDefinition appendFilterRoutes(RouteDefinition route) { // Filtered (optional) if (routeConfig.getFilterInstanceOf() != null) { addInterimProc(route.filter() .method(new InstanceOfFilter(classLoader, plugin.getContext().getMessagesSerializer(), routeConfig.getFilterInstanceOf()), InstanceOfFilter.FILTER_METHOD_NAME)) .to(endpoints.getFilteredUri()) .routeId(endpoints.getFilteredRouteId()); return from(endpoints.getFilteredUri()); } else if (routeConfig.getCustomFilter() != null) { addInterimProc(route.filter() .method( new PluginMessageFilter(plugin, routeConfig.getCustomFilter()), PluginMessageFilter.FILTER_METHOD_NAME)) .to(endpoints.getFilteredUri()) .routeId(endpoints.getFilteredRouteId()); return from(endpoints.getFilteredUri()); } return route; }
@Override public void configure() { // load file orders from src/data into the JMS queue from("file:src/data?noop=true").to("jms:incomingOrders"); // content-based router from("jms:incomingOrders") .choice() .when(header("CamelFileName").endsWith(".xml")) .to("jms:xmlOrders") .when(header("CamelFileName").regex("^.*(csv|csl)$")) .to("jms:csvOrders") .otherwise() .to("jms:badOrders"); // lets filter out the test messages from("jms:xmlOrders").filter(xpath("/order[not(@test)]")) .process(new Processor() { public void process(Exchange exchange) throws Exception { System.out.println("Received XML order: " + exchange.getIn().getHeader("CamelFileName")); } }); } });
.routeId("JsonLdUpdate") .to("direct:get") .filter(header(HTTP_RESPONSE_CODE).isEqualTo(200)) .setHeader(HTTP_METHOD).constant("PUT") .process(new RiakKeyBuilder()) .routeId("JsonLdGet") .to("direct:getResource") .filter(header(HTTP_RESPONSE_CODE).isEqualTo(200)) .log("Compacting resource ${headers[CamelFcrepoIdentifier]}") .to("direct:compact");