尝试向 TIBCO Ems 队列发送消息时出现异常(如下所示)。
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)
我看到这个例外的唯一地方是这个链接:http ://class10e.com/tibco/a-queue-is-defined-as/
从这里我可以猜到,在发送任何消息之前,每个队列至少需要一个消费者。一旦我创建了一个消费者,它就可以工作,但最多只有 5 或 6 条消息。奇怪的是,我在每次测试之前都清空了队列,而且我发送的是完全相同的短信,所以没有大小差异。为什么有时会在 5 条消息后失败,有时会在 6 条消息后失败?最初清空队列后,我没有使用消息(我创建了一个消费者,但使用 Eclipse 调试来暂停消息消费者的线程)。有谁知道这个异常的原因是什么?