Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import akka.actor.Status.Failure
- import akka.actor.{ ActorLogging, Actor, Props, ActorSystem }
- import eventstore._
- import eventstore.tcp.ConnectionActor
- object WriteEventExample {
- def main(args: Array[String]): Unit = {
- val system = ActorSystem()
- val connection = system.actorOf(ConnectionActor.props())
- implicit val writeResult = system.actorOf(Props[WriteResult])
- val event = EventData("my-event", data = Content("my event data"), metadata = Content("my first event"))
- import scala.concurrent.duration._
- import system.dispatcher
- system.scheduler.schedule(1.second, 10.millis, new Runnable {
- def run() = {
- connection ! WriteEvents(EventStream.Id("my-stream"), List(event))
- }
- })
- sys.addShutdownHook {
- system.shutdown()
- }
- }
- }
- class WriteResult extends Actor with ActorLogging {
- def receive = {
- case WriteEventsCompleted(range, position) =>
- log.info("range: {}, position: {}", range, position)
- case Failure(e: EsException) =>
- log.error(e.toString)
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement