Search code examples
akkazeromqjzmqakka-zeromq

Akka-ZMQ subscriber creation error (poll)


I successfully created publisher but failed to create subscriber by using the following:

    public static void main(String [] args)
    {
        ActorSystem system = ActorSystem.create("System");
        ActorRef subscriber = system.actorOf(new Props(Sub.class),   "subscriber");    
        subscriber.tell(new MyActor("CharlieParker", 50, 25), subscriber);
    }
    public class Sub extends UntypedActor 
    {
        ActorRef subSocket = ZeroMQExtension.get(getContext().system()).newSubSocket(
        new Connect("tcp://127.0.0.1:1237"),
        new Listener(getSelf()), Subscribe.all());
    }

Got this error: Uncaught error from thread [System-akka.zeromq.socket-dispatcher-7] shutting down JVM since 'akka.jvm-exit-on-fatal-error' is enabled for ActorSystem[System] java.lang.NoSuchMethodError: org.zeromq.ZMQ$Poller.poll(J)J at akka.zeromq.ConcurrentSocketActor$$anonfun$10.apply(ConcurrentSocketActor.scala:180) at akka.zeromq.ConcurrentSocketActor$$anonfun$10.apply(ConcurrentSocketActor.scala:179) at akka.zeromq.ConcurrentSocketActor.akka$zeromq$ConcurrentSocketActor$$doPoll(ConcurrentSocketActor.scala:197) at akka.zeromq.ConcurrentSocketActor$$anonfun$receive$1.applyOrElse(ConcurrentSocketActor.scala:46) at akka.actor.ActorCell.receiveMessage(ActorCell.scala:425) at akka.actor.ActorCell.invoke(ActorCell.scala:386) at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:230) at akka.dispatch.Mailbox.run(Mailbox.scala:212) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:722)

What does it mean?


Solution

  • it seems like you are either missing or having the wrong version of zeromq-scala-binding on your path.

    Which version of akka and zeromq are you using?