將 ejb-timer-service 特性 minimum-delivery-interval 設定為 9000 之後,嘗試將 ejb-timer-service 特性 redelivery-interval-in-mills 設定為 7000 會導致 set 指令失敗,並出現以下錯誤︰
[echo] Doing admin task set [exec] [Attribute(id=redelivery-interval-internal-in-millis) : Redelivery-Interval (7,000) should be greater than or equal to Minimum-delivery-interval- in-millis (9,000)] [exec] CLI137 Command set failed. |
minimum-delivery-interval 是同一定時計時器的兩次傳送作業間的最小間隔持續時間。
redelivery-interval-in-mills 是計時器服務在 ejbTimeout 失敗後,嘗試重新傳送之前的等待時間。
問題在於,將重新傳送間隔特性與最小傳送特性相聯繫的邏輯不正確,並阻止您使用 GUI 或 CLI 設定任何最小傳送間隔大於重新傳送間隔的值。
minimum-delivery-interval-in-millis 必須一律設定為等於或高於 ejb-timer-service 特性 redelivery-interval-in-millis。問題在於,Application Server 驗證 redelivery-interval-in-millis 的值是否大於 minimum-delivery-interval-in-millis 的值時,驗證檢查方法是錯的。