added more docs for camel, couldnt resist to also remove a ; from DefaultCamel

This commit is contained in:
RayRoestenburg 2012-06-26 00:47:06 +02:00
parent 91268365c1
commit 92e3ca2629
5 changed files with 262 additions and 11 deletions

View file

@ -27,4 +27,41 @@ object Consumers {
}
//#Consumer2
}
{
//#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 = {
case msg:CamelMessage
sender ! Ack
// on success
// ..
val someException = new Exception("e1")
// on failure
sender ! Failure(someException)
}
}
//#Consumer3
}
{
//#Consumer4
import akka.camel.{ CamelMessage, Consumer }
import akka.util.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
}
}

View file

@ -1,11 +1,14 @@
package docs.camel
import akka.actor.{Props, ActorSystem}
import akka.camel.CamelExtension
object Introduction {
{
//#Consumer-mina
import akka.camel.{ CamelMessage, Consumer }
class MinaClient extends Consumer {
class MyEndpoint extends Consumer {
def endpointUri = "mina:tcp://localhost:6200?textline=true"
def receive = {
@ -17,15 +20,15 @@ object Introduction {
// start and expose actor via tcp
import akka.actor.{ ActorSystem, Props }
val sys = ActorSystem("camel")
val mina = sys.actorOf(Props[MinaClient])
val system = ActorSystem("some-system")
val mina = system.actorOf(Props[MyEndpoint])
//#Consumer-mina
}
{
//#Consumer
import akka.camel.{ CamelMessage, Consumer }
class JettyAdapter extends Consumer {
class MyEndpoint extends Consumer {
def endpointUri = "jetty:http://localhost:8877/example"
def receive = {
@ -45,10 +48,58 @@ object Introduction {
def endpointUri = "jms:queue:Orders"
}
val sys = ActorSystem("camel")
val sys = ActorSystem("some-system")
val orders = sys.actorOf(Props[Orders])
orders ! <order amount="100" currency="PLN" itemId="12345"/>
//#Producer
}
{
//#CamelExtension
val system = ActorSystem("some-system")
val camel = CamelExtension(system)
val camelContext = camel.context
val producerTemplate = camel.template
//#CamelExtension
}
{
//#CamelExtensionAddComponent
// import org.apache.activemq.camel.component.ActiveMQComponent
val system = ActorSystem("some-system")
val camel = CamelExtension(system)
val camelContext = camel.context
// camelContext.addComponent("activemq", ActiveMQComponent.activeMQComponent("vm://localhost?broker.persistent=false"))
//#CamelExtensionAddComponent
}
{
//#CamelActivation
import akka.camel.{ CamelMessage, Consumer }
import akka.util.duration._
class MyEndpoint extends Consumer {
def endpointUri = "mina:tcp://localhost:6200?textline=true"
def receive = {
case msg: CamelMessage { /* ... */ }
case _ { /* ... */ }
}
}
val system = ActorSystem("some-system")
val camel = CamelExtension(system)
val actorRef = system.actorOf(Props[MyEndpoint])
// get a future reference to the activation of the endpoint of the Consumer Actor
val activationFuture = camel.activationFutureFor(actorRef,10 seconds)
// or, block wait on the activation
camel.awaitActivation(actorRef, 10 seconds)
//#CamelActivation
//#CamelDeactivation
system.stop(actorRef)
// get a future reference to the deactivation of the endpoint of the Consumer Actor
val deactivationFuture = camel.activationFutureFor(actorRef,10 seconds)
// or, block wait on the deactivation
camel.awaitDeactivation(actorRef, 10 seconds)
//#CamelDeactivation
}
}

View file

@ -0,0 +1,14 @@
package docs.camel
object Producers {
{
//#Producer1
import akka.camel.Producer
import akka.actor.Actor
class Producer1 extends Actor with Producer {
def endpointUri = "http://localhost:8080/news"
}
//#Producer1
}
}