將 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 的設定。問題在於,應用程式伺服器具有錯誤的驗證檢查可驗證 redelivery-interval-in-millis 的值是否大於 minimum-delivery-interval-in-millis 的值。
使用這些特性的預設值,如下所示:
minimum-delivery-interval(default)=7000 redelivery-interval-in-millis(default)=5000 |
這些預設值以外的值將會產生錯誤。