route.id(name); } else { uri = convertEndpointURI(uri);
@Override public void configure() throws Exception { from("direct:logger") .id("loggerRoute") .to("log:org.apache.camel.howto.logger?level=INFO") .to("mock:result"); from("timer://start?fixedRate=true&period=1000") .id("generatorRoute") .to("log:org.apache.camel.howto.generator?level=INFO") .to("direct:logger"); } }
@Override public void configure() throws Exception { // add dropwizard metrics to all our routes getContext().addRoutePolicyFactory(new MetricsRoutePolicyFactory()); from("timer:foo").id("foo") .delay(simple("${random(0,1000)}")) .log("Foo is done"); from("timer:bar").id("bar") .delay(simple("${random(0,5000)}")) .log("Bar is done"); } }
@Override public void configure() throws Exception { from("seda:orders").id("legacyRoute") .throttle(5).timePeriodMillis(10000).asyncDelayed().id("orderThrottler") .to("seda:legacy"); } }
from(zep).id("election-route-" + candidateName).sort(body(), comparator).process(new Processor() { @Override public void process(Exchange e) throws Exception {
@Override public void configure() throws Exception { from("direct:start") .id("test-route") .to("my-sql-proxy") .to("mock:result"); } });
protected <I extends SpongeRequest, O extends SpongeResponse> void createOperation(RestDefinition restDefinition, String operation, String operationDescription, Class<I> requestClass, String requestDescription, Class<O> responseClass, String responseDescription, BiFunction<I, Exchange, O> operationHandler) { restDefinition.post(operation).description(operationDescription).type(requestClass).outType(responseClass).param().name("body") .type(body).description(requestDescription).endParam().responseMessage().code(200).message(responseDescription) .endResponseMessage().route().id("sponge-" + operation).process(exchange -> { String requestBody = exchange.getIn().getBody(String.class); if (logger.isDebugEnabled()) { logger.debug("REST API {} request: {}", operation, RestApiUtils.obfuscatePassword(requestBody)); } try { setupResponse(operation, exchange, operationHandler.apply(getObjectMapper().readValue(requestBody, requestClass), exchange)); } catch (Throwable processingException) { logger.info("REST API error", processingException); try { setupResponse(operation, exchange, apiService.createGenericErrorResponse(processingException, exchange)); } catch (Throwable e) { logger.error("REST API send error response failure", e); throw e; } } }).endRest(); }
@Override public void configure() throws Exception { from("file://in").id("file2jms") .to("jms:person"); from("jms:person").id("personJms2Rest") // .onException(ConnectException.class).log("Exception processing message.. does the personservice run?").end() .setHeader("person_id", xpath("/person/id").stringResult()) .to("log:test") .setHeader(Exchange.HTTP_METHOD, constant("PUT")) .setHeader(Exchange.CONTENT_TYPE, constant("text/xml")) .setHeader(Exchange.HTTP_URI, simple("${properties:personServiceUri}/${header.person_id}")) // .to("http://dummy"); }
@Override public void configure() throws Exception { from("direct:input") .routeId("namingStrategyRoute") .process(exchange -> {}) .id("namingStrategyProcessor") .end(); }
.param().name("body").type(body).description("Get Sponge version request").endParam() .responseMessage().code(200).message("The Sponge version response").endResponseMessage() .route().id("version") .setBody(exchange -> apiService.getVersion(exchange.getIn().getBody(RestGetVersionRequest.class), exchange)) .endRest() .param().name("body").type(body).description("Login request").endParam() .responseMessage().code(200).message("The login response").endResponseMessage() .route().id("login") .setBody(exchange -> apiService.login(exchange.getIn().getBody(RestLoginRequest.class), exchange)) .endRest() .param().name("body").type(body).description("Logout request").endParam() .responseMessage().code(200).message("The logout response").endResponseMessage() .route().id("logout") .setBody(exchange -> apiService.logout(exchange.getIn().getBody(RestLogoutRequest.class), exchange)) .endRest() .param().name("body").type(body).description("Get knowledge bases request").endParam() .responseMessage().code(200).message("The get knowledge bases response").endResponseMessage() .route().id("knowledgeBases") .setBody(exchange -> apiService.getKnowledgeBases(exchange.getIn().getBody(RestGetKnowledgeBasesRequest.class), exchange)) .endRest() .param().name("body").type(body).description("Get actions request").endParam() .responseMessage().code(200).message("The get actions response").endResponseMessage() .route().id("actions") .setBody(exchange -> apiService.getActions(exchange.getIn().getBody(RestGetActionsRequest.class), exchange)) .endRest()
@Override public void configure() throws Exception { from("file:ordersin?noop=true").id("order") .setHeader("customer", xpath("/order/customer/text()").stringResult()) .split(xpath("/order/item")) .setHeader("count", xpath("/item/@count").stringResult()) .setHeader("name", xpath("/item/@name").stringResult()) .choice() .when(xpath("/item/@vendor != 'direct'")).to("direct:vendor") .otherwise().recipientList(simple("file:ordersout/${header.customer}")); from("direct:vendor").id("mailtovendor") .setHeader("to", method("vendorMailService")) .setHeader("subject", simple("Order from ${header.customer}")) .to("velocity:mailtemplate.txt") .to("stream:out") .to("smtp:{{mailserver}}"); } }
@Override public void configure() throws Exception { from("jetty:http://0.0.0.0:9090/example") .id("example-http-inbound") .convertBodyTo(String.class) .log("[EXAMPLE INBOUND] Received: ${body}") .id("example-email") .log("[EXAMPLE EMAIL] Sending notification email") .setHeader("to").jsonpath("$.notification.to") .id("example-http") .log("[EXAMPLE HTTP] Sending http notification") .setHeader("service").jsonpath("$.notification.service")
@Override public void configure() { from("direct:start") .id("start") .routePolicy(new ActivityTrackingPolicy(activityTracker)) .split() .body() .process(OutMessageCaptureProcessor.INSTANCE) .pipeline() .id("log") .log(LoggingLevel.INFO, "log", "log", "hi") .process(OutMessageCaptureProcessor.INSTANCE) .end() .pipeline() .id("rnderr") .process().body(String.class, body -> { if ("error".equals(body)) { throw new RuntimeException("Bean Error"); } }) .process(OutMessageCaptureProcessor.INSTANCE) .end() .pipeline() .id("end") .to("mock:end") .process(OutMessageCaptureProcessor.INSTANCE) .end() .end(); } });