2012-07-22 21:40:09 +02:00
|
|
|
/**
|
2015-03-07 22:58:48 -08:00
|
|
|
* Copyright (C) 2009-2015 Typesafe Inc. <http://www.typesafe.com>
|
2012-07-22 21:40:09 +02:00
|
|
|
*/
|
|
|
|
|
|
2012-05-22 11:37:09 +02:00
|
|
|
package docs.camel
|
2012-05-02 21:13:52 +01:00
|
|
|
|
2012-07-22 21:40:09 +02:00
|
|
|
import language.postfixOps
|
|
|
|
|
|
2012-05-02 21:13:52 +01:00
|
|
|
object Consumers {
|
2012-07-23 15:49:19 +02:00
|
|
|
object Sample1 {
|
2012-05-02 21:13:52 +01:00
|
|
|
//#Consumer1
|
2012-05-07 20:37:56 +02:00
|
|
|
import akka.camel.{ CamelMessage, Consumer }
|
2012-05-02 21:13:52 +01:00
|
|
|
|
|
|
|
|
class Consumer1 extends Consumer {
|
|
|
|
|
def endpointUri = "file:data/input/actor"
|
|
|
|
|
|
|
|
|
|
def receive = {
|
2013-12-03 16:34:26 +01:00
|
|
|
case msg: CamelMessage => println("received %s" format msg.bodyAs[String])
|
2012-05-02 21:13:52 +01:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//#Consumer1
|
|
|
|
|
}
|
2012-07-23 15:49:19 +02:00
|
|
|
object Sample2 {
|
2012-05-02 21:13:52 +01:00
|
|
|
//#Consumer2
|
2012-05-07 20:37:56 +02:00
|
|
|
import akka.camel.{ CamelMessage, Consumer }
|
2012-05-02 21:13:52 +01:00
|
|
|
|
|
|
|
|
class Consumer2 extends Consumer {
|
|
|
|
|
def endpointUri = "jetty:http://localhost:8877/camel/default"
|
|
|
|
|
|
|
|
|
|
def receive = {
|
2014-01-16 15:16:35 +01:00
|
|
|
case msg: CamelMessage => sender() ! ("Hello %s" format msg.bodyAs[String])
|
2012-05-02 21:13:52 +01:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//#Consumer2
|
|
|
|
|
}
|
2012-07-23 15:49:19 +02:00
|
|
|
object Sample3 {
|
2012-06-26 00:47:06 +02:00
|
|
|
//#Consumer3
|
|
|
|
|
import akka.camel.{ CamelMessage, Consumer }
|
|
|
|
|
import akka.camel.Ack
|
|
|
|
|
import akka.actor.Status.Failure
|
|
|
|
|
|
|
|
|
|
class Consumer3 extends Consumer {
|
2012-07-18 08:06:07 +02:00
|
|
|
override def autoAck = false
|
2012-06-26 00:47:06 +02:00
|
|
|
|
|
|
|
|
def endpointUri = "jms:queue:test"
|
|
|
|
|
|
|
|
|
|
def receive = {
|
2013-12-03 16:34:26 +01:00
|
|
|
case msg: CamelMessage =>
|
2014-01-16 15:16:35 +01:00
|
|
|
sender() ! Ack
|
2012-06-26 00:47:06 +02:00
|
|
|
// on success
|
|
|
|
|
// ..
|
|
|
|
|
val someException = new Exception("e1")
|
|
|
|
|
// on failure
|
2014-01-16 15:16:35 +01:00
|
|
|
sender() ! Failure(someException)
|
2012-06-26 00:47:06 +02:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//#Consumer3
|
|
|
|
|
}
|
2012-07-23 15:49:19 +02:00
|
|
|
object Sample4 {
|
2012-06-26 00:47:06 +02:00
|
|
|
//#Consumer4
|
|
|
|
|
import akka.camel.{ CamelMessage, Consumer }
|
2012-09-21 14:50:06 +02:00
|
|
|
import scala.concurrent.duration._
|
2012-06-26 00:47:06 +02:00
|
|
|
|
|
|
|
|
class Consumer4 extends Consumer {
|
|
|
|
|
def endpointUri = "jetty:http://localhost:8877/camel/default"
|
|
|
|
|
override def replyTimeout = 500 millis
|
|
|
|
|
def receive = {
|
2014-01-16 15:16:35 +01:00
|
|
|
case msg: CamelMessage => sender() ! ("Hello %s" format msg.bodyAs[String])
|
2012-06-26 00:47:06 +02:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//#Consumer4
|
|
|
|
|
}
|
2013-01-09 01:47:48 +01:00
|
|
|
}
|