返回列表 上一筆 下一筆

📄 資料內容

在你把 Spring 的 @JmsListener concurrency 调到 “30‑85” 之後,Artemis Broker 端預設的執行緒池只有 30 條,且排程池(scheduled pool)只有 5 條,當超出時就會在伺服器 log 裡每隔 5 秒左右出現「執行緒池耗盡/拒絕執行」的異常。解決方案就是把這兩個池都放大:



1. 調整 Artemis 主執行緒池(thread‑pool‑max‑size)

預設值 30;要支援上限 85 條 concurrent consumer,至少設 ≥ 85:



bash

複製

編輯

# 連上 JBoss CLI

jboss-cli.sh --connect



# 把主 pool 擴到 100 條

/subsystem=messaging-activemq/server=default:write-attribute(name=thread-pool-max-size,value=100)



# 重新載入

reload

這樣 Broker 才能為每條 consumer 提供足夠的執行緒。

紅帽產品文件



2. 調整排程執行緒池(scheduled‑thread‑pool‑max‑size)

Artemis 用這個 pool 來做重試、清理、metrics 等排程工作,預設只有 5 條,超載也會抛異常。建議也一併放大:



bash

複製

編輯

# 調度池也調大到 20 條

/subsystem=messaging-activemq/server=default:write-attribute(name=scheduled-thread-pool-max-size,value=20)



# 再次 reload

reload

紅帽產品文件



3. 確認 & 驗證

讀回設定,確保生效:



bash

複製

編輯

/subsystem=messaging-activemq/server=default:read-attribute(name=thread-pool-max-size)

/subsystem=messaging-activemq/server=default:read-attribute(name=scheduled-thread-pool-max-size)

重啟或 redeploy Spring 應用,使 concurrency="30-85" 生效。



觀察 server.log,應不再有「執行緒池耗盡」的錯誤;並可用 JConsole/VisualVM 看 Broker 執行緒數。



若仍有錯,請協助提供

– JBoss EAP 8 server.log 裡的完整 Exception stacktrace

– Spring 應用 log 中 “Starting JmsListenerContainer with concurrency=30-85” 訊息

這樣才能進一步針對錯誤細節做診斷。

🔐 Base64 編碼內容

5Zyo5L2g5oqKIFNwcmluZyDnmoQgQEptc0xpc3RlbmVyIGNvbmN1cnJlbmN5IOiwg+WIsCDigJwzMOKAkTg14oCdIOS5i+W+jO+8jEFydGVtaXMgQnJva2VyIOerr+mgkOioreeahOWft+ihjOe3kuaxoOWPquaciSAzMCDmop3vvIzkuJTmjpLnqIvmsaDvvIhzY2hlZHVsZWQgcG9vbO+8ieWPquaciSA1IOaine+8jOeVtui2heWHuuaZguWwseacg+WcqOS8uuacjeWZqCBsb2cg6KOh5q+P6ZqUIDUg56eS5bem5Y+z5Ye654++44CM5Z+36KGM57eS5rGg6ICX55uh77yP5ouS57WV5Z+36KGM44CN55qE55Ww5bi444CC6Kej5rG65pa55qGI5bCx5piv5oqK6YCZ5YWp5YCL5rGg6YO95pS+5aSn77yaCgoKCjEuIOiqv+aVtCBBcnRlbWlzIOS4u+Wft+ihjOe3kuaxoO+8iHRocmVhZOKAkXBvb2zigJFtYXjigJFzaXpl77yJCgrpoJDoqK3lgLzigK8zMO+8m+imgeaUr+aPtOS4iumZkOKArzg1IOainSBjb25jdXJyZW50IGNvbnN1bWVy77yM6Iez5bCR6Kit4oCv4oml4oCvODXvvJoKCgoKYmFzaAoK6KSH6KO9Cgrnt6jovK8KCiMg6YCj5LiKIEpCb3NzIENMSQoKamJvc3MtY2xpLnNoIC0tY29ubmVjdAoKCgojIOaKiuS4uyBwb29sIOaTtOWIsCAxMDAg5qKdCgovc3Vic3lzdGVtPW1lc3NhZ2luZy1hY3RpdmVtcS9zZXJ2ZXI9ZGVmYXVsdDp3cml0ZS1hdHRyaWJ1dGUobmFtZT10aHJlYWQtcG9vbC1tYXgtc2l6ZSx2YWx1ZT0xMDApCgoKCiMg6YeN5paw6LyJ5YWlCgpyZWxvYWQKCumAmeaooyBCcm9rZXIg5omN6IO954K65q+P5qKdIGNvbnN1bWVyIOaPkOS+m+i2s+WkoOeahOWft+ihjOe3kuOAggoK57SF5bi955Si5ZOB5paH5Lu2CgoKCjIuIOiqv+aVtOaOkueoi+Wft+ihjOe3kuaxoO+8iHNjaGVkdWxlZOKAkXRocmVhZOKAkXBvb2zigJFtYXjigJFzaXpl77yJCgpBcnRlbWlzIOeUqOmAmeWAiyBwb29sIOS+huWBmumHjeippuOAgea4heeQhuOAgW1ldHJpY3Mg562J5o6S56iL5bel5L2c77yM6aCQ6Kit5Y+q5pyJ4oCvNSDmop3vvIzotoXovInkuZ/mnIPmipvnlbDluLjjgILlu7rorbDkuZ/kuIDkvbXmlL7lpKfvvJoKCgoKYmFzaAoK6KSH6KO9Cgrnt6jovK8KCiMg6Kq/5bqm5rGg5Lmf6Kq/5aSn5YiwIDIwIOainQoKL3N1YnN5c3RlbT1tZXNzYWdpbmctYWN0aXZlbXEvc2VydmVyPWRlZmF1bHQ6d3JpdGUtYXR0cmlidXRlKG5hbWU9c2NoZWR1bGVkLXRocmVhZC1wb29sLW1heC1zaXplLHZhbHVlPTIwKQoKCgojIOWGjeasoSByZWxvYWQKCnJlbG9hZAoK57SF5bi955Si5ZOB5paH5Lu2CgoKCjMuIOeiuuiqjSAmIOmpl+itiQoK6K6A5Zue6Kit5a6a77yM56K65L+d55Sf5pWI77yaCgoKCmJhc2gKCuikh+ijvQoK57eo6LyvCgovc3Vic3lzdGVtPW1lc3NhZ2luZy1hY3RpdmVtcS9zZXJ2ZXI9ZGVmYXVsdDpyZWFkLWF0dHJpYnV0ZShuYW1lPXRocmVhZC1wb29sLW1heC1zaXplKQoKL3N1YnN5c3RlbT1tZXNzYWdpbmctYWN0aXZlbXEvc2VydmVyPWRlZmF1bHQ6cmVhZC1hdHRyaWJ1dGUobmFtZT1zY2hlZHVsZWQtdGhyZWFkLXBvb2wtbWF4LXNpemUpCgrph43llZ/miJYgcmVkZXBsb3kgU3ByaW5nIOaHieeUqO+8jOS9vyBjb25jdXJyZW5jeT0iMzAtODUiIOeUn+aViOOAggoKCgrop4Dlr58gc2VydmVyLmxvZ++8jOaHieS4jeWGjeacieOAjOWft+ihjOe3kuaxoOiAl+eboeOAjeeahOmMr+iqpO+8m+S4puWPr+eUqCBKQ29uc29sZe+8j1Zpc3VhbFZNIOeciyBCcm9rZXIg5Z+36KGM57eS5pW444CCCgoKCuiLpeS7jeaciemMr++8jOiri+WNlOWKqeaPkOS+mwoK4oCTIEpCb3Nz4oCvRUFQIDggc2VydmVyLmxvZyDoo6HnmoTlrozmlbQgRXhjZXB0aW9uIHN0YWNrdHJhY2UKCuKAkyBTcHJpbmcg5oeJ55SoIGxvZyDkuK0g4oCcU3RhcnRpbmcgSm1zTGlzdGVuZXJDb250YWluZXIgd2l0aCBjb25jdXJyZW5jeT0zMC04NeKAnSDoqIrmga8KCumAmeaoo+aJjeiDvemAsuS4gOatpemHneWwjemMr+iqpOe0sOevgOWBmuiouuaWt+OAggo=
返回列表 上一筆 下一筆