@Override public void process(Exchange exchange) throws Exception { final INDArray arr = (INDArray) exchange.getIn().getBody(); ByteArrayOutputStream bos = new ByteArrayOutputStream(); DataOutputStream dos = new DataOutputStream(bos); Nd4j.write(arr, dos); byte[] bytes = bos.toByteArray(); String base64 = Base64.encodeBase64String(bytes); exchange.getIn().setBody(base64, String.class); String id = UUID.randomUUID().toString(); exchange.getIn().setHeader(KafkaConstants.KEY, id); exchange.getIn().setHeader(KafkaConstants.PARTITION_KEY, id); } }).to(kafkaUri);
private Message resolveMessageFrom(final Exchange camelExchange) { Message message = camelExchange.hasOut() ? camelExchange.getOut() : camelExchange.getIn(); // Remove the SERIALIZE_HEADER in case it was previously set if (message.getHeaders() != null && message.getHeaders().containsKey(RabbitMQEndpoint.SERIALIZE_HEADER)) { LOG.trace("Removing header: {}", RabbitMQEndpoint.SERIALIZE_HEADER); message.getHeaders().remove(RabbitMQEndpoint.SERIALIZE_HEADER); } if (routingKey != null && routingKey.startsWith(RabbitMQConstants.RABBITMQ_DIRECT_REPLY_ROUTING_KEY)) { message.setHeader(RabbitMQConstants.EXCHANGE_NAME, RabbitMQConstants.RABBITMQ_DIRECT_REPLY_EXCHANGE); // use default exchange for reply-to messages message.setHeader(RabbitMQConstants.EXCHANGE_OVERRIDE_NAME, RabbitMQConstants.RABBITMQ_DIRECT_REPLY_EXCHANGE); // use default exchange for reply-to messages } return message; }
public void process(Exchange exchange) throws Exception { String input = exchange.getIn().getBody(String.class); // if the verbose switch is turned on then log to System out if (getEndpoint().isVerbose()) { System.out.println("Calling ERP with: " + input); } // simulate calling ERP system and setting reply on the OUT body exchange.getOut().setBody("Simulated response from ERP"); // support propagating headers (by copying headers from IN -> OUT) exchange.getOut().setHeaders(exchange.getIn().getHeaders()); }
@Test public void testTransmogrifier4() throws InterruptedException { Exchange exchange = producerTemplate.request("direct:transmogrifier-test-4", exchange1 -> { exchange1.getIn().setHeader("x", "y"); exchange1.getIn().setBody(new Dog("Willi")); }); assertTrue(exchange.hasOut()); assertEquals("y", exchange.getOut().getHeader("x")); }
@SuppressWarnings("unchecked") public void updateExchange(Exchange groupedExchange) { List<Exchange> exchangeList = groupedExchange.getProperty(Exchange.GROUPED_EXCHANGE, List.class); if (exchangeList.size() == 1) { Exchange orignalBookingExchange = exchangeList.get(0); String federatedQueryGUID = (String) orignalBookingExchange.getIn().getHeader("federatedQueryRequestGUID"); groupedExchange.getIn().setBody(orignalBookingExchange.getIn().getHeader("requestMessageBody")); groupedExchange.getIn().setHeader("federatedQueryRequestGUID", federatedQueryGUID); } }
public Exchange aggregate(String system, Exchange oldExchange, Exchange newExchange) { // the first time oldExchange is null so we got to look out for that Exchange answer = oldExchange == null ? newExchange : oldExchange; // store data temporary in headers so we can combine data later answer.getIn().setHeader(system, newExchange.getIn().getBody()); return answer; }
@Override public void process(Exchange exchange) throws Exception { HashMap<String, String> result = new HashMap<String, String>(); for (NameValuePair pairs : (List<NameValuePair>) parser.parse(exchange.getIn().getHeader(Exchange.HTTP_QUERY, String.class), '&')) { result.put(pairs.getName(), pairs.getValue()); } exchange.getIn().setHeader(QueryMapHeader, result); } }
@Override public void process(Exchange exchange) throws Exception { String inputMessage = exchange.getIn().getBody(String.class); LOGGER.info("inputMessage : " + inputMessage); String operationName = exchange.getIn().getHeader(CxfConstants.OPERATION_NAME, String.class); Method method = findMethod(operationName, exchange.getIn().getBody(Object[].class)); Object response = method.invoke(instance, exchange.getIn().getBody(Object[].class)); exchange.getOut().setBody(response); }
@Override public void sent(Session session, Message message, Destination destination) { if (exchange != null) { String id = getJMSMessageID(message); if (id != null) { if (exchange.hasOut()) { exchange.getOut().setHeader("JMSMessageID", id); } else { exchange.getIn().setHeader("JMSMessageID", id); } } } }
@Override public void onResponse(Object response, Map<String, String> responseHeaders) { // producer returns a single response, even for methods with List return types exchange.getOut().setBody(response); // copy headers exchange.getOut().setHeaders(exchange.getIn().getHeaders()); // Add http response headers exchange.getOut().setHeader(Olingo2Constants.PROPERTY_PREFIX + RESPONSE_HTTP_HEADERS, responseHeaders); interceptResult(response, exchange); callback.done(false); }