[英]When using JMS and Oracle AQ with MDBs: ORA-25228 returned over 1000 times in 12 minutes
我在WebLogic 10.3上部署了一個MDB,它正在Oracle AQ上的JMS隊列上偵聽。
只要將消息放入隊列中,就可以毫無問題地處理消息。 但是,沒有消息,我可以看到WebLogic和Oracle AQ之間的通信中返回了Oracle錯誤:
ORA-25228: timeout or end-of-fetch during message dequeue
這里的問題是,如果返回了該錯誤,則WebLogic會一次又一次發送請求,因此我可以看到WebLogic與Oracle AQ之間的通信量很大(12分鍾內有1000個請求)。
如果我使用Spring而不是消息驅動的Bean,我會看到相同的問題,但是,如果我將任務執行器(task-executor屬性)添加到jms偵聽器容器中,則通信看起來很好,並且WebLogic和Oracle AQ之間的通信會定期進行(每120秒)並返回以下狀態:
ORA-01403: no data found
任何人都有一個想法,如何正確配置MDB?
12分鍾內有1000個請求
您可以為AQ-QUEUE設置* Max_retries *和* Retry_delay *屬性,以設置重新交付限制和暫停beetwen重試。
BEGIN DBMS_AQADM.CREATE_QUEUE(
Queue_name => 'MY_QUEUE',
Queue_table => 'MY_Q_TABLE',
Queue_type => 0,
Max_retries => 5,
Retry_delay => 0,
retention_time => 86400,
dependency_tracking => FALSE
END;
/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.