Hi,

For several years I have been using ActiveMQ together with the Perl STOMP library Net::Stomp - without any problems.

Now I tried setting up Apollo 1.6 to replace ActiveMQ and I run into an odd problem:

My test client is a simple loop that will send messages to a topic. The client works fine for a period of time, and then unexpectedly fails with an error like this:

  "only wrote xxx characters out of the xxx character frame"

The exact number of characters vary from run to run.

After this message is printed, the client is no longer able to send messages.

I assumed this was showing the age of Net::Stomp and decided to reimplement the client using the newer Net::STOMP::Client. However I see the exact same problem with this new script - the error reads:

  "could not send all data!"

After getting this error, the script is no longer able to send new messages.

I was able to let the script disconnect and reconnect by forcibly dropping the Net::STOMP::Client object and instantiating a new object, as the disconnect() and connect() methods doesn't do anything useful after the error occurs.

My main concern is that this shouldn't be happening. The error occurs up to ~20 times per hour, requiring reconnection every time.

If I keep the volume of messages low, the error doesn't occur - or at least it occurs very infrequently. As soon as I increase it to a few messages per second, the errors pops up frequently.

When I try the same script on ActiveMQ it just keeps running for weeks without requiring reconnects.

Anyone seen behaviour like this, or have an idea what could be done?


Thanks in advance,
--
Jens Kristian Søgaard, Mermaid Consulting ApS,
j...@mermaidconsulting.dk,
http://www.mermaidconsulting.com/

Reply via email to