2014-04-01 29 views
0

我認爲這是我的zmq.jar錯了,所以我嘗試了與jeroMQ,但我有同樣的問題。按jeroMQ

這是我的方法:

private boolean submitEvent(String ioMessage) { 
    log.info("SEND"); 

    ZMQ.Context context = ZMQ.context(); 

    ZMQ.Socket sender = context.socket(ZMQ.PUSH); 

    sender.connect("tcp://localhost:8086"); 

    sender.send("MESSAGE"); 

    return true; 

} 

我在Python的腳本是PULL,如果我嘗試推腳本也蟒蛇,它接收到的一切。

所以我的問題是在Java。

我在日誌中看到第一行(「發送」),但我沒有收到腳本中的任何內容。

我應該改變什麼?

回答

1

Common mistakes在JeroMQ維基

  • 關閉所有的插槽中正確否則Context.term()會永遠等待

所以你的最終代碼建議立即進行刪除是

private boolean submitEvent(String ioMessage) { 

    log.info("SEND"); 

    ZMQ.Context context = ZMQ.context(); 

    ZMQ.Socket sender = context.socket(ZMQ.PUSH); 

    sender.connect("tcp://localhost:8086"); 

    sender.send("MESSAGE"); 

    sender.close(); 

    context.term(); 

    return true; 

} 
+0

謝謝,但我查日誌和我發現問題來源於:java.lang.NoClassDefFound錯誤:org/jeromq/ZContext,但我不知道爲什麼,因爲它在項目 – Biribu

+0

然後檢查你的構建路徑;),歡呼聲。 – vzamanillo

+0

是的,我不得不改變我的jeromq.jar的路線,我不得不把它放到項目中,而不是隻把它添加到庫路徑。謝謝你 – Biribu