這個屬性決定階段作業如何確認所收到的任何訊息。 這個屬性只適用於使用 Bean 管理交易區分(交易類型設為 Bean)的訊息驅動 Bean。
- 自動確認
- 階段作業會自動確認每個訊息的遞送。
- 重複確定確認
- 階段作業以智慧方式確認訊息的遞送。
如果 JMS 失敗,這項設定很可能導致遞送某些重複訊息,因此,這只適用於能夠容忍訊息重複的消費者應用程式。
依 EJB 規格所定義,用戶端無法利用 Message.acknowledge() 方法來確認訊息。如果在 createxxxSession 呼叫上傳遞 CLIENT_ACKNOWLEDGE 值,應用程式伺服器會自動確認訊息,且不會使用 Message.acknowledge() 方法。
註:
刪除訊息時會傳送確認。
如果您有非交易式訊息驅動 Bean,系統會在 Bean 啟動或完成時刪除訊息。如果 Bean 產生異常狀況,並因此而沒有完成,系統會採取下列其中一項動作:
- 如果系統的配置是在 Bean 完成時刪除訊息,則訊息會分派給新的 Bean 實例,因此就有另一次機會可以處理訊息。
- 如果系統的配置是在 Bean 啟動時刪除訊息,則訊息會遺失。
如果服務品質設為最大努力非持續性,訊息會在 Bean 啟動時刪除。如果是所有的其他服務品質,則會在 Bean 完成時刪除訊息。