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?
Tibco EMS Queues Test. The point-to-point style of messaging uses a queue to store messages until they are received. The message producer sends the message to the queue; the message consumer retrieves messages from the queue and sends acknowledgment that the message was received.
Select Queues from the Navigation Panel, and all queues belonging to the TIBCO EMS server are displayed in the Queues Summary View. If the Product Administrator has filtered certain queues (also applicable to other objects) from being accessible, they will not be displayed.
Bridges is another feature of TIBCO EMS which gives the opportunity to send messages to multiple subscribers from a producer. Also, it's possible to filter the messages for each consumer. Bridges are created between one destination and one or more other destinations of the same or of different types.
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.
Seems like there seems to be MAXBYTES OR MAXMSGS properties set on the destination.Resulting in queue limit exceeded error.
Please check your destination property ..
Hope this helps
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With