pekko/akka-docs/rst/scala/code/docs/camel/Consumers.scala

73 lines
1.7 KiB
Scala
Raw Normal View History

2012-07-22 21:40:09 +02:00
/**
* Copyright (C) 2009-2012 Typesafe Inc. <http://www.typesafe.com>
*/
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
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 = {
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
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 = {
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 {
//#Consumer3
import akka.camel.{ CamelMessage, Consumer }
import akka.camel.Ack
import akka.actor.Status.Failure
class Consumer3 extends Consumer {
override def autoAck = false
def endpointUri = "jms:queue:test"
def receive = {
2012-07-12 15:00:11 +02:00
case msg: CamelMessage
sender ! Ack
// on success
// ..
val someException = new Exception("e1")
// on failure
sender ! Failure(someException)
}
}
//#Consumer3
}
2012-07-23 15:49:19 +02:00
object Sample4 {
//#Consumer4
import akka.camel.{ CamelMessage, Consumer }
import scala.concurrent.duration._
class Consumer4 extends Consumer {
def endpointUri = "jetty:http://localhost:8877/camel/default"
override def replyTimeout = 500 millis
def receive = {
case msg: CamelMessage sender ! ("Hello %s" format msg.bodyAs[String])
}
}
//#Consumer4
}
2012-05-02 21:13:52 +01:00
}