TIBCO ems Queue limit exceeded

jon picture jon · May 2, 2013 · Viewed 10.5k times · Source

I am getting an exception (shown below) when trying to send messages to a TIBCO Ems queue.

 javax.jms.ResourceAllocationException: Queue limit exceeded
 at com.tibco.tibjms.Tibjmsx.buildException(Tibjmsx.java:523)
 at com.tibco.tibjms.TibjmsxSessionImp._publish(TibjmsxSessionImp.java:1390)
 at com.tibco.tibjms.TibjmsMessageProducer._publish(TibjmsMessageProducer.java:246)
 at com.tibco.tibjms.TibjmsQueueSender.send(TibjmsQueueSender.java:51)

The only place I have seen this exception talked about is this link : http://class10e.com/tibco/a-queue-is-defined-as/

And from here I was able to guess that you are required to have at least one consumer per queue before you send any messages. Once i created a consumer it worked, but only up to about 5 or 6 messages. What is strange is that I empty the queue before every time i test, and I am sending the same exact text messages, so there is no size difference. How come it fails sometimes after 5 and sometimes after 6 messages? I am not consuming the messages after I initially empty the queue (I created a consumer but used eclipses debug to pause the thread of the message consumer). Does anyone know what the cause of this exception is?

Answer

Piotr picture Piotr · Oct 23, 2018

Be carefull using

setprop queue queue-name maxmsgs=10000

setprop queue queue-name maxbytes=1024MB

Setprop removes, ALL the parameters of the queues and replace them with default ones, except that one parameter you are going to change. If you just want to change one parameter without touching the other ones, use

addprop queue queue-name PARAMETER=VALUE

Addprop adds new parameter or modifies existing one. if you want to learn more about setprop and addprop type

help setprop

help addprop 

when logged in to the ems server.