|
Akka/Scala example source code file (HttpProducer.java)
The HttpProducer.java Akka example source codepackage sample.camel.http; import akka.actor.ActorRef; import akka.camel.CamelMessage; import akka.camel.javaapi.UntypedProducerActor; import org.apache.camel.Exchange; import java.util.HashSet; import java.util.Set; public class HttpProducer extends UntypedProducerActor { private ActorRef transformer; public HttpProducer(ActorRef transformer) { this.transformer = transformer; } public String getEndpointUri() { // bridgeEndpoint=true makes the producer ignore the Exchange.HTTP_URI header, // and use the endpoint's URI for request return "jetty://http://akka.io/?bridgeEndpoint=true"; } // before producing messages to endpoints, producer actors can pre-process // them by overriding the onTransformOutgoingMessage method @Override public Object onTransformOutgoingMessage(Object message) { if (message instanceof CamelMessage) { CamelMessage camelMessage = (CamelMessage) message; Set<String> httpPath = new HashSet<String>(); httpPath.add(Exchange.HTTP_PATH); return camelMessage.withHeaders(camelMessage.getHeaders(httpPath)); } else return super.onTransformOutgoingMessage(message); } // instead of replying to the initial sender, producer actors can implement custom // response processing by overriding the onRouteResponse method @Override public void onRouteResponse(Object message) { transformer.forward(message, getContext()); } } Other Akka source code examplesHere is a short list of links related to this Akka HttpProducer.java source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.