Sun GlassFish Enterprise Server 2.1 版本說明

設定 ejb-timer-service 特性導致 set 指令失敗 (6193449)

說明

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.

問題在於,將重新傳送間隔特性與最小傳送特性相聯繫的邏輯不正確,並阻止您使用 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

這些預設值以外的值將會產生錯誤。