2012-07-15 14:12:03 +02:00
|
|
|
package docs.camel;
|
|
|
|
|
|
|
|
|
|
import java.util.HashMap;
|
|
|
|
|
import java.util.Map;
|
2012-09-19 23:55:53 +02:00
|
|
|
|
|
|
|
|
import scala.concurrent.Future;
|
|
|
|
|
import akka.actor.ActorRef;
|
|
|
|
|
import akka.actor.ActorSystem;
|
|
|
|
|
import akka.actor.Props;
|
|
|
|
|
import akka.camel.CamelMessage;
|
|
|
|
|
import akka.pattern.Patterns;
|
2012-07-15 14:12:03 +02:00
|
|
|
|
|
|
|
|
public class ProducerTestBase {
|
|
|
|
|
public void tellJmsProducer() {
|
|
|
|
|
//#TellProducer
|
|
|
|
|
ActorSystem system = ActorSystem.create("some-system");
|
|
|
|
|
Props props = new Props(Orders.class);
|
|
|
|
|
ActorRef producer = system.actorOf(props, "jmsproducer");
|
2012-09-19 23:55:53 +02:00
|
|
|
producer.tell("<order amount=\"100\" currency=\"PLN\" itemId=\"12345\"/>", null);
|
2012-07-15 14:12:03 +02:00
|
|
|
//#TellProducer
|
|
|
|
|
system.shutdown();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void askProducer() {
|
|
|
|
|
//#AskProducer
|
|
|
|
|
ActorSystem system = ActorSystem.create("some-system");
|
|
|
|
|
Props props = new Props(FirstProducer.class);
|
|
|
|
|
ActorRef producer = system.actorOf(props,"myproducer");
|
|
|
|
|
Future<Object> future = Patterns.ask(producer, "some request", 1000);
|
|
|
|
|
//#AskProducer
|
|
|
|
|
system.stop(producer);
|
|
|
|
|
system.shutdown();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void correlate(){
|
|
|
|
|
//#Correlate
|
|
|
|
|
ActorSystem system = ActorSystem.create("some-system");
|
|
|
|
|
Props props = new Props(Orders.class);
|
|
|
|
|
ActorRef producer = system.actorOf(props,"jmsproducer");
|
|
|
|
|
Map<String,Object> headers = new HashMap<String, Object>();
|
|
|
|
|
headers.put(CamelMessage.MessageExchangeId(),"123");
|
2012-10-01 20:35:19 +02:00
|
|
|
producer.tell(new CamelMessage("<order amount=\"100\" currency=\"PLN\" " +
|
|
|
|
|
"itemId=\"12345\"/>",headers), null);
|
2012-07-15 14:12:03 +02:00
|
|
|
//#Correlate
|
|
|
|
|
system.stop(producer);
|
|
|
|
|
system.shutdown();
|
|
|
|
|
}
|
|
|
|
|
}
|