나는 성공적으로 출판사를 만들었지 만 다음을 사용하여 가입자를 작성하는 데 실패 :Akka - ZMQ 가입자 만들기 오류 (여론 조사)
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());
}
이 오류가있어 : 스레드에서 catch되지 않은 오류 [시스템-akka.zeromq.socket을 [시스템] java.lang.NoSuchMethodError : org.zeromq.ZMQ $ Poller.poll (J) J 에 대해 'akka.jvm-exit-on-fatal-error'가 활성화되어 있으므로 JVM을 종료합니다. (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 $ 수신 $ 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)
그게 무슨 소리 야?
저는 zeromq-3.2.2.tar (http://download.zeromq.org/zeromq-3.2.2.tar.gz)와 jzmq-master (https://github.com/zeromq/jzmq)를 만들었습니다.). 생성 된 zmq.jar이 프로젝트 클래스 경로에 복사되고 라이브러리가 내 로컬에있는 것처럼 보입니다 : Hakan-MacBook-Pro : lib Hako $ ls | grep libjzmq libjzmq.0.dylib libjzmq.a libjzmq.dylib libjzmq.la 하칸 - 맥북 프로 : lib Hako $ ls | grep libzmq libzmq.3.dylib libzmq.a libzmq.dylib libzmq.la – Hako
나는 또한 (당신의 의견을 읽은 후에) 이것을 만들었습니다 : https://github.com/zeromq/libzmq 그리고 문제는 여전히 존재합니다. – Hako
이제 알겠습니다. 클래스 경로에 jzmq Y 인딩이 있습니까? Akka는 https://github.com/valotrading/zeromq-scala-binding에서 사용할 수있는 zeromq-scala-bindings에 의존하며 서로를 대체 할 수는 없습니다. –