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/