73 lines
2.4 KiB
HTML
73 lines
2.4 KiB
HTML
|
|
|
||
|
|
<html>
|
||
|
|
<head>
|
||
|
|
<link href='./_highlighter/SyntaxHighlighter.css' rel='stylesheet' type='text/css'/>
|
||
|
|
<script language='javascript' src='./_highlighter/shAll.js'></script>
|
||
|
|
</head>
|
||
|
|
<body>
|
||
|
|
<pre name="code" class="scala" style="width:100%">
|
||
|
|
/**
|
||
|
|
* Copyright (C) 2009 Scalable Solutions.
|
||
|
|
*/
|
||
|
|
|
||
|
|
package se.scalablesolutions.akka.amqp
|
||
|
|
|
||
|
|
import se.scalablesolutions.akka.serialization.Serializer
|
||
|
|
import se.scalablesolutions.akka.actor.Actor
|
||
|
|
|
||
|
|
import com.rabbitmq.client.ConnectionParameters
|
||
|
|
|
||
|
|
object ExampleSession {
|
||
|
|
import AMQP._
|
||
|
|
val SERIALIZER = Serializer.Java
|
||
|
|
val CONFIG = new ConnectionParameters
|
||
|
|
val HOSTNAME = "localhost"
|
||
|
|
val PORT = 5672
|
||
|
|
|
||
|
|
val IM = "im.whitehouse.gov"
|
||
|
|
val CHAT = "chat.whitehouse.gov"
|
||
|
|
|
||
|
|
def main(args: Array[String]) = {
|
||
|
|
println("==== DIRECT ===")
|
||
|
|
direct
|
||
|
|
|
||
|
|
Thread.sleep(1000)
|
||
|
|
|
||
|
|
println("==== FANOUT ===")
|
||
|
|
fanout
|
||
|
|
}
|
||
|
|
|
||
|
|
def direct = {
|
||
|
|
val consumer = AMQP.newConsumer(CONFIG, HOSTNAME, PORT, IM, ExchangeType.Direct, SERIALIZER, None, 100, false, false, Map[String, AnyRef]())
|
||
|
|
consumer ! MessageConsumerListener("@george_bush", "direct", new Actor() {
|
||
|
|
def receive: PartialFunction[Any, Unit] = {
|
||
|
|
case Message(payload, _, _, _, _) => log.info("@george_bush received message from: %s", payload)
|
||
|
|
}
|
||
|
|
})
|
||
|
|
val producer = AMQP.newProducer(CONFIG, HOSTNAME, PORT, IM, SERIALIZER, None, None, 100)
|
||
|
|
producer ! Message("@jonas_boner: You sucked!!", "direct")
|
||
|
|
}
|
||
|
|
|
||
|
|
def fanout = {
|
||
|
|
val consumer = AMQP.newConsumer(CONFIG, HOSTNAME, PORT, CHAT, ExchangeType.Fanout, SERIALIZER, None, 100, false, false, Map[String, AnyRef]())
|
||
|
|
consumer ! MessageConsumerListener("@george_bush", "", new Actor() {
|
||
|
|
def receive: PartialFunction[Any, Unit] = {
|
||
|
|
case Message(payload, _, _, _, _) => log.info("@george_bush received message from: %s", payload)
|
||
|
|
}
|
||
|
|
})
|
||
|
|
consumer ! MessageConsumerListener("@barack_obama", "", new Actor() {
|
||
|
|
def receive: PartialFunction[Any, Unit] = {
|
||
|
|
case Message(payload, _, _, _, _) => log.info("@barack_obama received message from: %s", payload)
|
||
|
|
}
|
||
|
|
})
|
||
|
|
val producer = AMQP.newProducer(CONFIG, HOSTNAME, PORT, CHAT, SERIALIZER, None, None, 100)
|
||
|
|
producer ! Message("@jonas_boner: I'm going surfing", "")
|
||
|
|
}
|
||
|
|
}</pre>
|
||
|
|
<script language='javascript'>
|
||
|
|
dp.SyntaxHighlighter.ClipboardSwf = './_highlighter/clipboard.swf';
|
||
|
|
dp.SyntaxHighlighter.HighlightAll('code');
|
||
|
|
</script>
|
||
|
|
</body>
|
||
|
|
</html>
|