Package org.akka.essentials.zeromq.example1

Source Code of org.akka.essentials.zeromq.example1.PublisherActor

package org.akka.essentials.zeromq.example1;

import akka.actor.ActorRef;
import akka.actor.Cancellable;
import akka.actor.UntypedActor;
import akka.util.Duration;
import akka.zeromq.Bind;
import akka.zeromq.Frame;
import akka.zeromq.ZMQMessage;
import akka.zeromq.ZeroMQExtension;

public class PublisherActor extends UntypedActor {
  public static final Object TICK = "TICK";
  int count = 0;
  Cancellable cancellable;
  ActorRef pubSocket = ZeroMQExtension.get(getContext().system())
      .newPubSocket(new Bind("tcp://127.0.0.1:1237"));

  @Override
  public void preStart() {
    cancellable = getContext()
        .system()
        .scheduler()
        .schedule(Duration.parse("1 second"),
            Duration.parse("1 second"), getSelf(), TICK);
  }

  @Override
  public void onReceive(Object message) throws Exception {
    if (message.equals(TICK)) {
      pubSocket.tell(new ZMQMessage(new Frame("someTopic"), new Frame(
          "This is the workload " + ++count)));
     
      if(count==10)
        cancellable.cancel();
    }
  }
}
TOP

Related Classes of org.akka.essentials.zeromq.example1.PublisherActor

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.