Hi all,

I'm looking for a messaging engine which can be able to work with application 
written in perl. So, I installed Apollo 1.2 on my linux box and I wrote the 
first test script using Net::STOMP::Client module. But I encounter a problem. I 
enqueued 10000 persistent messages and I tried to dequeue them. It works ok if 
the perl script dequeue all 10000 messages. But if the script dequeue  100 
messages only (example) and finishes,  after a few runs the server stops to 
serve messages. I looks like the queue is empty. Through GUI administration I 
can see that there are messages in the queue, but perl script is unable to 
retrieve them - wait_for_frames() timeouted. If I restart Apollo server, I can 
continue retrieving messages until the server is stuck again. I downloaded the 
latest Apollo snapshot and nothing changed. I also changed the default store 
engine to DBD store. The same. I even changed JVM engine from my default 
OpenJDK 64-Bit Server VM 1.6.0_23 (Sun Microsystems Inc.)'' to th
 e latest 'Java HotSpot(TM) 64-Bit Server VM 1.7.0_03 (Oracle Corporation)'. No 
change.  When the Apollo server is "blocked" and client is unable to retrieve 
messages, I can enqueue another messages from other producer and client 
receives these messages. But the original ones are blocked until I restart 
server. There is no warning or error message on Apollo console.

Because this is my first atempt to work with STOMP I'm not sure if the problem 
is not on my side but currently I have no idea what is wrong. 

The test script is here:
http://gist.github.com/5ef9113f6b6aec81bca9

perl <script.pl> produce    ....enqueues 10000 messages
perl <script.pl> consume 10000  ... dequeues 10000 messages

but

perl <script.pl> produce    ....enqueues 10000 messages
for i in seq `1 100`; do perl <script.pl> consume 100; done   .... is blocked 
after a few runs (looks random count)


Thanks for any help.

Ivan

Reply via email to