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?
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.