2013-05-02 68 views
6

嘗試將消息發送到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調試來暫停消息使用者的線程)。有誰知道這個例外的原因是什麼?

+3

請發佈'show queue '從'tibemsadmin'得到異常後的結果 – fglez 2013-05-03 12:28:22

回答

-1

這個錯誤可能是由於以下

EMS隊列的默認大小爲512MB,如果你越過這條大小,則錯誤

+0

我不是512 MB。 – jon 2013-05-03 14:27:24

+0

錯誤的信息,我認爲user2163769在這裏混淆了默認的內存設置(這可以很容易地調整),正如上面的Abdul Kader所說的那樣,目標上可能有一個設置可以用來限制生產者將隊列溢出閾值,檢查您嘗試使用的隊列上的MAXBytes或MaxMessages設置。 – Seb 2015-12-22 10:46:48

1

好像似乎有對destination.Resulting在設置MAXBYTES OR MAXMSGS性質隊列限制超出錯誤。

請檢查您的目標屬性..

希望這有助於

0

使用此命令increate隊列大小形式EMS冶理工具

setprop隊列隊列名maxmsgs = 10000

setprop隊列隊列名maxbytes = 1024MB