ProductPromotion
Logo

Java

made by https://0x3d.site

GitHub - zeromq/jeromq: Pure Java ZeroMQ
Pure Java ZeroMQ . Contribute to zeromq/jeromq development by creating an account on GitHub.
Visit Site

GitHub - zeromq/jeromq: Pure Java ZeroMQ

GitHub - zeromq/jeromq: Pure Java ZeroMQ

JeroMQ

Pure Java implementation of libzmq (http://zeromq.org).

CircleCI Quality Gate Status Coverage Status Maven Central Javadocs

Features

  • Based on libzmq 4.1.7.

  • ZMTP/3.0 (http://rfc.zeromq.org/spec:23).

  • tcp:// protocol and inproc:// is compatible with zeromq.

  • ipc:// protocol works only between jeromq (uses tcp://127.0.0.1:port internally).

  • Securities

  • Performance that's not too bad, compared to native libzmq.

  • Exactly same developer experience with zeromq and jzmq.

  • TCP KeepAlive Count, Idle and Interval are known to only work with JVM 13 and later.

Unsupported

  • ipc:// protocol with zeromq. Java doesn't support UNIX domain socket.

  • pgm:// protocol. Cannot find a pgm Java implementation.

  • norm:// protocol. Cannot find a Java implementation.

  • tipc:// protocol. Cannot find a Java implementation.

  • GSSAPI mechanism is not yet implemented.

  • Interrupting threads is still unsupported: library is NOT Thread.interrupt safe.

Contributing

Contributions welcome! See CONTRIBUTING.md for details about the contribution process and useful development tasks.

Usage

Maven

Add it to your Maven project's pom.xml:

    <dependency>
      <groupId>org.zeromq</groupId>
      <artifactId>jeromq</artifactId>
      <version>0.6.0</version>
    </dependency>

    <!-- for the latest SNAPSHOT -->
    <dependency>
      <groupId>org.zeromq</groupId>
      <artifactId>jeromq</artifactId>
      <version>0.6.0</version>
    </dependency>

    <!-- If you can't find the latest snapshot -->
    <repositories>
      <repository>
        <id>sonatype-nexus-snapshots</id>
        <url>https://oss.sonatype.org/content/repositories/snapshots</url>
        <releases>
          <enabled>false</enabled>
        </releases>
        <snapshots>
          <enabled>true</enabled>
        </snapshots>
       </repository>
    </repositories>

Ant

To generate an ant build file from pom.xml, issue the following command:

mvn ant:ant

Getting started

Simple example

Here is how you might implement a server that prints the messages it receives and responds to them with "Hello, world!":

import org.zeromq.SocketType;
import org.zeromq.ZMQ;
import org.zeromq.ZContext;

public class hwserver
{
    public static void main(String[] args) throws Exception
    {
        try (ZContext context = new ZContext()) {
            // Socket to talk to clients
            ZMQ.Socket socket = context.createSocket(SocketType.REP);
            socket.bind("tcp://*:5555");

            while (!Thread.currentThread().isInterrupted()) {
                // Block until a message is received
                byte[] reply = socket.recv(0);

                // Print the message
                System.out.println(
                    "Received: [" + new String(reply, ZMQ.CHARSET) + "]"
                );

                // Send a response
                String response = "Hello, world!";
                socket.send(response.getBytes(ZMQ.CHARSET), 0);
            }
        }
    }
}

More examples

The JeroMQ translations of the zguide examples are a good reference for recommended usage.

Documentation

For API-level documentation, see the Javadocs.

This repo also has a doc folder, which contains assorted "how to do X" guides and other useful information about various topics related to using JeroMQ.

License

All source files are copyright © 2007-2024 contributors as noted in the AUTHORS file.

Free use of this software is granted under the terms of the Mozilla Public License 2.0. For details see the file LICENSE included with the JeroMQ distribution.

More Resources
to explore the angular.

mail [email protected] to add your project or resources here 🔥.

Related Articles
to learn about angular.

FAQ's
to learn more about Angular JS.

mail [email protected] to add more queries here 🔍.

More Sites
to check out once you're finished browsing here.

0x3d
https://www.0x3d.site/
0x3d is designed for aggregating information.
NodeJS
https://nodejs.0x3d.site/
NodeJS Online Directory
Cross Platform
https://cross-platform.0x3d.site/
Cross Platform Online Directory
Open Source
https://open-source.0x3d.site/
Open Source Online Directory
Analytics
https://analytics.0x3d.site/
Analytics Online Directory
JavaScript
https://javascript.0x3d.site/
JavaScript Online Directory
GoLang
https://golang.0x3d.site/
GoLang Online Directory
Python
https://python.0x3d.site/
Python Online Directory
Swift
https://swift.0x3d.site/
Swift Online Directory
Rust
https://rust.0x3d.site/
Rust Online Directory
Scala
https://scala.0x3d.site/
Scala Online Directory
Ruby
https://ruby.0x3d.site/
Ruby Online Directory
Clojure
https://clojure.0x3d.site/
Clojure Online Directory
Elixir
https://elixir.0x3d.site/
Elixir Online Directory
Elm
https://elm.0x3d.site/
Elm Online Directory
Lua
https://lua.0x3d.site/
Lua Online Directory
C Programming
https://c-programming.0x3d.site/
C Programming Online Directory
C++ Programming
https://cpp-programming.0x3d.site/
C++ Programming Online Directory
R Programming
https://r-programming.0x3d.site/
R Programming Online Directory
Perl
https://perl.0x3d.site/
Perl Online Directory
Java
https://java.0x3d.site/
Java Online Directory
Kotlin
https://kotlin.0x3d.site/
Kotlin Online Directory
PHP
https://php.0x3d.site/
PHP Online Directory
React JS
https://react.0x3d.site/
React JS Online Directory
Angular
https://angular.0x3d.site/
Angular JS Online Directory