JZMQ or JeroMQ?
Cameo provides three Java projects and a C++ project. ZeroMQ is written in C and using it in Java projects can be done:
Cameo can use both as they follow the same interface, so that they can be easily replaced. However some differences exist:
- JZMQ has better performances than JeroMQ.
- JZMQ is more difficult to configure as the dynamic library of ZeroMQ must be accessible.
- JZMQ must be as stable as ZeroMQ as it is only a binding.
- JeroMQ seems to be less stable than JZMQ. Some Cameo tests block with JeroMQ.
- JZMQ is no longer developped. It is thus preferrable to use JeroMQ if no blockings are encountered.
JZMQ compilation
JeroMQ does not require any compilation because the jar is downloaded from a Maven repository. However if the JZMQ Java jar is downloaded from a Maven repository, the C dynamic library must be compiled if not accessible from a package.
- On Debian, we compiled and installed JZMQ using the source package. We did not run autogen.sh but directly the command autoreconf in autogen.sh.
- On Windows 7 64bits, we compiled JZMQ using Visual Studio 2015 as explained in this page but we needed to add the configuration x64 for the project JZMQ.
JeroMQ issues
The socket can block in extreme environments (rapid creation and destruction of sockets) which is not explained.