Rebased and squashed all changes to akka camel so far from Piotr and Ray

This commit is contained in:
Piotr Gabryanczyk 2012-01-19 14:38:44 +00:00 committed by RayRoestenburg
parent 43febd0b65
commit 4d6511c5c6
69 changed files with 3099 additions and 2758 deletions

View file

@ -1,8 +1,15 @@
/**
* Copyright (C) 2009-2012 Typesafe Inc. <http://www.typesafe.com>
*/
package akka.camel;
import akka.camel.javaapi.UntypedConsumerActor;
import akka.util.Duration;
import org.apache.camel.builder.Builder;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.RouteDefinition;
import scala.Option;
/**
* @author Martin Krasser
@ -13,22 +20,28 @@ public class SampleErrorHandlingConsumer extends UntypedConsumerActor {
return "direct:error-handler-test-java";
}
public boolean isBlocking() {
return true;
@Override
//TODO write test confirming this gets called in java
public ProcessorDefinition onRouteDefinition(RouteDefinition rd) {
return rd.onException(Exception.class).handled(true).transform(Builder.exceptionMessage()).end();
}
public void preStart() {
onRouteDefinition(new RouteDefinitionHandler() {
public ProcessorDefinition<?> onRouteDefinition(RouteDefinition rd) {
return rd.onException(Exception.class).handled(true).transform(Builder.exceptionMessage()).end();
}
});
@Override
public Duration replyTimeout(){
return Duration.create(1, "second");
}
public void onReceive(Object message) throws Exception {
Message msg = (Message)message;
String body = msg.getBodyAs(String.class);
Message msg = (Message) message;
String body = rich(msg).getBodyAs(String.class);
throw new Exception(String.format("error: %s", body));
}
}
@Override
public void preRestart(Throwable reason, Option<Object> message){
getSender().tell(new Failure(reason));
}
}