Enterprise Integration Zone is brought to you in partnership with:

Mitch Pronschinske is a Senior Content Analyst at DZone. That means he writes and searches for the finest developer content in the land so that you don't have to. He often eats peanut butter and bananas, likes to make his own ringtones, enjoys card and board games, and is married to an underwear model. Mitch is a DZone Zone Leader and has posted 2573 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
| 4976 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.