Advertisement
Guest User

No leak

a guest
Mar 25th, 2015
243
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 1.06 KB | None | 0 0
  1. import akka.actor.Status.Failure
  2. import akka.actor.{ ActorLogging, Actor, Props, ActorSystem }
  3. import eventstore._
  4. import eventstore.tcp.ConnectionActor
  5.  
  6. object WriteEventExample {
  7.   def main(args: Array[String]): Unit = {
  8.     val system = ActorSystem()
  9.     val connection = system.actorOf(ConnectionActor.props())
  10.     implicit val writeResult = system.actorOf(Props[WriteResult])
  11.  
  12.     val event = EventData("my-event", data = Content("my event data"), metadata = Content("my first event"))
  13.  
  14.     import scala.concurrent.duration._
  15.     import system.dispatcher
  16.     system.scheduler.schedule(1.second, 10.millis, new Runnable {
  17.       def run() = {
  18.         connection ! WriteEvents(EventStream.Id("my-stream"), List(event))
  19.       }
  20.     })
  21.  
  22.     sys.addShutdownHook {
  23.       system.shutdown()
  24.     }
  25.   }
  26.  
  27. }
  28.  
  29. class WriteResult extends Actor with ActorLogging {
  30.   def receive = {
  31.     case WriteEventsCompleted(range, position) =>
  32.       log.info("range: {}, position: {}", range, position)
  33.  
  34.     case Failure(e: EsException) =>
  35.       log.error(e.toString)
  36.   }
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement