Pure Java implementation of ZeroMQ for high-performance asynchronous messaging in distributed or concurrent applications.
JeroMQ is a pure Java implementation of the ZeroMQ messaging library that provides high-performance asynchronous messaging capabilities for distributed or concurrent applications. It replicates the functionality of the native libzmq library while running entirely on the Java Virtual Machine without requiring native dependencies. The library offers the same developer experience as the original ZeroMQ implementation with support for common messaging patterns and protocols.
Java developers building distributed systems, microservices, or concurrent applications that require efficient message passing between components. It's particularly useful for teams who want ZeroMQ functionality without dealing with native library dependencies.
Developers choose JeroMQ because it provides the full ZeroMQ API and functionality in a pure Java package, eliminating native dependency issues while maintaining high performance. It offers seamless integration with Java applications and the same familiar ZeroMQ patterns without requiring JVM-native bridging layers.
JeroMQ is a pure Java implementation of the ZeroMQ messaging library, offering high-performance asynchronous messaging for distributed or concurrent applications.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
No native dependencies, runs entirely on the JVM, simplifying deployment and avoiding cross-platform issues, as emphasized in the GitHub description.
Capable of handling 4.5 million messages per second, with performance comparable to native implementations, backed by documented benchmarks in the README's performance wiki.
Offers exactly the same API as zeromq and jzmq, allowing for seamless adoption and code reuse for developers experienced with ZeroMQ patterns.
Implements PLAIN and CURVE security mechanisms as per ZeroMQ RFCs, providing secure communication options without additional libraries.
Unsupported protocols like ipc:// with zeromq, pgm://, norm://, and tipc:// due to lack of Java implementations, restricting interoperability in specialized networking scenarios.
The library is not Thread.interrupt safe, meaning interrupting threads can lead to undefined behavior, a critical limitation admitted in the README for concurrency-sensitive applications.
While high-performing, the README notes performance is 'not too bad' compared to native libzmq, indicating potential overhead from the pure Java implementation in edge cases.