[zeromq-dev] Resending message, context term method behavior

Erwin Karbasi erwin at optinity.com
Sun May 26 16:29:51 CEST 2013

Hello Masters,

We are using JZMQ - ZMQ - JAVA binding.

We have implemented Broker using async client/server as illustrated in the
the figure 38 here:

Your insight regarding following issues would be highly appreciated:

   1. When we start the messages producer before the broker, and some
   messages are sent, they are cached somewhere (maybe the ZMQ socket?).
   This causes the messages to be sent once the broker is up. The issue is
   that we have implemented a retry mechanism, so the same message will be
   sent X times (as long as the broker is down), and then once the broker is
   up it will get X*original messages number…
   Is there any option to perform "clear" on that buffer, Or whether suing
   HWM or Linger can be helpful for this situation?
   2. Occasionally the ZMQ Context term method is bogged down.
   I found one reference to it (https://github.com/zeromq/jzmq/issues/39)
   but it wasn't really helpful. I could join all threads that close the
   sockets before calling context.term, but I imagine that then the join will
   be stuck rather than the context.term. I figured out in the API that the
   term() method should take care of it itself (
   http://api.zeromq.org/2-1:zmq-term), so I am not sure why it's blocked.
   Any ideas?

Thank you in advance,

Erwin Karbasi
 AT&T, Senior Software Architect
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20130526/007de5e7/attachment.htm>

More information about the zeromq-dev mailing list