2013-04-02 34 views
2

我試圖在Ubuntu上使用Java示例與ZeroMQ一起編程。我已經成功構建了ZeroMq核心和Java綁定,但試圖運行簡單的示例,它只是無限期地掛起。ZeroMQ Java示例在Ubuntu上掛起12

這裏是我迄今所做的,順便說一句,我使用JDK/JRE 1.7ZeroMQ 3.2.2Ubuntu 12.10 64-bit

構建ZeroMQ核心庫

我下載了核心ZeroMQ從here 3.2.2 POSIX壓縮包,根據說明here提取和構建。配置,製作和安裝都進行得很順利,沒有錯誤,我也跑ldconfig以下make更新系統庫緩存。快速瀏覽一下/usr/local/lib和圖書館似乎已經正確地建立了核心...

[email protected]:/usr/local/lib$ ls -ltr *.so 
lrwxrwxrwx 1 root dev 15 Apr 1 19:31 libzmq.so -> libzmq.so.3.0.0 
lrwxrwxrwx 1 root dev 16 Apr 1 20:14 libjzmq.so -> libjzmq.so.0.0.0 

構建JZMQ的Java綁定

下載Java綁定的源從here,配置,使運行;一切看起來不錯。這創建了zmq.jarzmq-perf.jar;再次運行ldconfig以更新庫緩存;移動罐子/usr/local/share/java ...

[email protected]:/usr/local/share/java$ ls -ltr 
-rw-r--r-- 1 usr1 usr1 40507 Apr 1 20:14 zmq.jar 
-rw-rw-r-- 1 usr1 usr1 4809 Apr 2 08:41 zmq-perf.jar 

運行實例local_lat

我使用以下設置爲我的環境跑了local_lat例子詳細here ...

java -Djava.library.path=/usr/local/lib -classpath /usr/local/share/java/zmq-perf.jar:/usr/local/share/java/zmq.jar local_lat tcp://127.0.0.1:5555 1 100 

UnsatisfiedLinkError;通過登錄和註銷來解決這個問題。 再次運行,它只是掛起,沒有錯誤,nata,zilch。我從上面刪除了參數100,並從local_lat得到了用法消息,所以我知道它找到了zmq jar文件,因爲local_lat類位於zmq-perf.jar中。用上面的命令再次運行,它只是掛起;沒有錯誤,沒有。有點讓人失望,因爲要完成所有的構建工作是相當費力的。

UPDATE

下面看,原來這是與我是如何測試

+1

您可能希望從本機Java實現開始[JeroMQ](https://github.com/zeromq/jeromq) –

+0

@ Steve-o這是一個純粹的Java實現嗎?它會獨立運行而不依賴於'so'或'dll'文件嗎? – raffian

+0

這是正確的。 –

回答

2

好的一個問題,所以事實證明一切,我所做的就是正確的。核心庫和Java綁定的建造和安裝成功,問題的例子...

java -Djava.library.path=/usr/local/lib -classpath /usr/local/share/java/zmq-perf.jar:/usr/local/share/java/zmq.jar local_lat tcp://127.0.0.1:5555 1 100 

local_lat程序不是一個Hello World的測試,我認爲它是,它是在jzmq現場有點誤導,以上是一個命令行示例,不是用於測試安裝的示例,並且通過查看local_lat的代碼進行了確認;它什麼都不做,當然也不會輸出任何東西,因此它似乎只是掛起了。

我用這個code測試了ZeroMq,下載並javac化了它,用上面的命令來運行它。