29 lines
No EOL
889 B
Java
29 lines
No EOL
889 B
Java
package docs.camel.sample.route;
|
|
//#CustomRouteExample
|
|
import akka.actor.ActorRef;
|
|
import akka.actor.UntypedActor;
|
|
import akka.camel.CamelMessage;
|
|
import akka.japi.Function;
|
|
|
|
public class Transformer extends UntypedActor {
|
|
private ActorRef producer;
|
|
|
|
public Transformer(ActorRef producer) {
|
|
this.producer = producer;
|
|
}
|
|
|
|
public void onReceive(Object message) {
|
|
if (message instanceof CamelMessage) {
|
|
// example: transform message body "foo" to "- foo -" and forward result to producer
|
|
CamelMessage camelMessage = (CamelMessage) message;
|
|
CamelMessage transformedMessage = camelMessage.mapBody(new Function<String, String>(){
|
|
public String apply(String body) {
|
|
return String.format("- %s -",body);
|
|
}
|
|
});
|
|
producer.forward(transformedMessage, getContext());
|
|
} else
|
|
unhandled(message);
|
|
}
|
|
}
|
|
//#CustomRouteExample |