在非 ASF 的作業模式中,訊息驅動 Bean 接聽器階段作業所執行的同步訊息接收逾時值(以毫秒為單位)。
只有在應用程式伺服器中的所有訊息驅動 Bean 都要啟用非 ASF 作業模式時,您才應該將這個內容設成非零值。
訊息接聽器服務有兩個作業模式:應用程式伺服器機能 (ASF) 和非應用程式伺服器機能(非 ASF)。
- ASF 模式用來提供應用程式的並行和交易支援。對於發佈/訂閱訊息驅動 Bean 而言,ASF 模式的通訊量和並行作業會比較好,因為在非 ASF 模式中,接聽器是單執行緒作業。
- 非 ASF 模式主要用來搭配不支援 JMS ASF(這是 JMS 規格的選用延伸)的協力廠商傳訊提供者。
非 ASF 模式也是交易式,不過,它的路徑長度比 ASF 模式短,效能通常比較好。
在下列情況下,請使用非 ASF 模式:
- 您的協力廠商傳訊提供者不支援 JMS ASF
- 您搭配含 DIRECT 埠的 WebSphere® 主題連線來使用訊息驅動 Bean,因為使用這個埠的內嵌發佈/訂閱分配管理系統不支援 XA 交易或 JMS ASF。
- 訊息次序是一項嚴格需求
資料類型 |
整數 |
單位 |
毫秒 |
預設值 |
ASF 模式(不建立自訂內容) |
範圍 |
0 或以上的毫秒數
- 0
- 停用非 ASF 模式
- 一或多次
- 非 ASF 訊息驅動 Bean 接聽器同步階段作業接收的逾時值(以毫秒為單位)
|
建議
|
如果發生交易逾時,訊息就必須再循環,而帶來額外的工作。如果您要使用非 ASF 模式,請將這個內容設定為低於交易逾時值,但至少要騰出訊息驅動 Bean 的 onMessage() 方法的最長持續時間。
比方說,如果您的訊息驅動 Bean 的 onMessage() 方法通常最多花 10 秒,交易逾時值設定為 120 秒,您可以將 NON.ASF.RECEIVE.TIMEOUT 內容設定為不超出 110000(110000 毫秒,就是 110 秒)。 |