Simple question. Why "porting" zmq on java and call it JeroMQ is good idea?
Asked
Active
Viewed 4,490 times
6
-
2Because someone wanted to - presumably to solve a problem. Ask them why (e.g. see the FAQ/documentation). As for the name, why not? Ports and close-competitors usually follow "similar" names to show that they are [closely] related. emacs/xemac, vim/gvim, NUnit/XUnit, Hibernate/nHibernate etc. – user2246674 Sep 26 '13 at 19:34
2 Answers
18
JeroMQ is an official project of the ZeroMQ community; it's a full port of the C++ libzmq library, supporting version 3.2.
Advantages:
- Pure Java, so no need to link in C/C++ via JNI. This is extremely helpful on devices where native libraries are difficult or impossible.
- 100% compatible with the JZMQ API (the two projects agreed on a single API so you can import one or the other transparently).
- 100% compatible with the ZeroMQ wire protocol, so you can run some nodes using JeroMQ and some using the native library, and it works as expected.
- Good performance, relatively close to the native library.
Disadvantages:
- No PGM multicast - there is no Java version of that library yet.
- Does not yet support ZeroMQ v4 functionality, including security.

Pieter Hintjens
- 6,599
- 1
- 24
- 29
4
JeroMQ is a pure Java implementation of ZeroMq. If your target language is Java, it's easier to get started with JeroMq since it uses a single jar file. ZeroMq (zmq), on the other hand, is written in C. You must build zmq, libzmq, and the Java language bindings, jzmq, to use it in a Java app. The JeroMq API is identical to jzmq, so starting with JeroMq and switching to jzmq later has no impact on your application with the exception of performance; zmq performs better than JeroMq.
Hope that helps,

raffian
- 31,267
- 26
- 103
- 174