How do I integrate ZeroMQ library with Matlab. I want my Matlab program to be a subscriber of ZeroMQ publisher.

78 views (last 30 days)
How do I integrate ZeroMQ with Matlab. I would like my Matlab program to be a subscriber of ZeroMQ message, which is a publisher. Thank you.

Answers (2)

Will Grant
Will Grant on 12 Jan 2017
Edited: Will Grant on 12 Jan 2017
From this blog post, it appears that the usage of JeroMQ (a pure-java implementation of ZeroMQ) is the easiest route to go.
1. Clone the repo from https://github.com/zeromq/jeromq
2. Install maven
3. get into the repository root and build with
mvn package
4. Put the .jar file [somewhere]
5. Add [somewhere] to your javaclasspath
6. Import the package and enjoy!
Edit
Adding the following useful links with example matlab code

Ivan Kostin
Ivan Kostin on 11 Jun 2021
From this post we can understand that the latest Matlab versions do not work with the latest JDK versions. Only 7 or 8 are supported.
But last version of JeroMQ from gihub seems to use JDK with version >=9. Because after I ran the example from git I got exception like this:
java.lang.NoSuchMethodError: java.nio.ByteBuffer.clear()Ljava/nio/ByteBuffer;
at zmq.Signaler.send(Signaler.java:134)
...
I wonder if anyone has solved the JeroMQ in Matlab problem. Seems impossible.
  1 Comment
Anil GURSES
Anil GURSES on 29 Mar 2022
Edited: Anil GURSES on 29 Mar 2022
It is not impossible. You need to change your default JDK to 1.8 and compile it again with the command below.
mvn clean package
I tested this on Matlab R2022a and it works fine. If that doesn't work somehow, just change the compiler properties inside the pom.xml from 8 to 1.8(It's the same thing but give it a try). Lastly, add this to properties
<maven.compiler.release>8</maven.compiler.release>
or
<maven.compiler.release>1.8</maven.compiler.release>

Sign in to comment.

Categories

Find more on Simulink PLC Coder in Help Center and File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!