Enterprise Integration Zone is brought to you in partnership with:

Mitch Pronschinske is the Lead Research Analyst at DZone. Researching and compiling content for DZone's research guides is his primary job. He likes to make his own ringtones, watches cartoons/anime, enjoys card and board games, and plays the accordion. Mitch is a DZone Zone Leader and has posted 2577 posts at DZone. You can read more from them at their website. View Full User Profile

A Completely Thread-Safe ZeroMQ Socket Interface for Scala

05.13.2013
| 5277 views |
  • submit to reddit
A great tool for messaging-oriented architectures just appeared on GitHub.  A thread-safe ZeroMQ socket interface for Scala simply called "scala-zeromq" has been shared by the dev team at the video stream management company, mDialog.  Here's the introduction from GitHub:

scala-zeromq facilitates communication using the ZeroMQ messaging library. ZeroMQ is a message-oriented socket communication library that support several high-level messaging patterns, including request-reply, publish-subscribe and push-pull. For a thorough description of how ZeroMQ works, read the guide.

Unlike many ZeroMQ libraries, scala-zeromq provides a completely threadsafe ZeroMQ socket interface. All socket communications are conducted using an immutable handle called a SocketRef. Under the hood, scala-zeromq uses Akka to ensure all socket interactions are handled safely and efficiently.


Although Akka already provides its own ZeroMQ extension, some say it has design problems and it is not completely thread-safe.  This is definitely worth a look if you're working with Scala and Akka.