Превышен предел очереди TIBCO ems

Я получаю исключение (показано ниже) при попытке отправить сообщение в очередь 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 сообщений? Я не использую сообщения после того, как изначально очищаю очередь (я создал потребителя, но использовал отладку eclipses, чтобы приостановить поток потребителя сообщения). Кто-нибудь знает, в чем причина этого исключения?


person jon    schedule 02.05.2013    source источник
comment
Пожалуйста, опубликуйте show queue <YOUR.QUEUE> результаты из tibemsadmin после получения исключения   -  person fglez    schedule 03.05.2013


Ответы (4)


Будьте осторожны при использовании

setprop queue queue-name maxmsgs=10000

setprop queue queue-name maxbytes=1024MB

Setprop удаляет ВСЕ параметры очередей и заменяет их значениями по умолчанию, кроме одного параметра, который вы собираетесь изменить. Если вы просто хотите изменить один параметр, не касаясь других, используйте

addprop queue queue-name PARAMETER=VALUE

Addprop добавляет новый параметр или изменяет существующий. если вы хотите узнать больше о типах setprop и addprop

help setprop

help addprop 

при входе на сервер ems.

person Piotr    schedule 23.10.2018

Похоже, что в пункте назначения установлены свойства MAXBYTES OR MAXMSGS. В результате ошибка превышения лимита очереди.

Пожалуйста, проверьте свой объект назначения ..

Надеюсь это поможет

person Abdul Kader    schedule 13.05.2013

Используйте эту команду для увеличения размера очереди из инструмента администрирования EMS.

setprop queue имя-очереди maxmsgs = 10000

setprop queue имя-очереди maxbytes = 1024 МБ

person RB7    schedule 08.04.2016

эта ошибка может быть связана со следующим

размер очереди EMS по умолчанию составляет 512 МБ, если вы пересечете этот размер, то ошибка

person Community    schedule 03.05.2013
comment
Неверная информация, я думаю, что user2163769 сбивает с толку настройку памяти по умолчанию (которую можно легко отрегулировать), поскольку Абдул Кадер выше заявил, что может быть настройка в пункте назначения, которая может использоваться для ограничения производителей для переполнения очереди сверх порогового значения, проверьте MAXBytes или параметры MaxMessages в очереди, которую вы пытаетесь использовать. - person Seb; 22.12.2015