インターフェース ShareAcknowledgment
public interface ShareAcknowledgment
共有グループを使用するときにレコードの配信を確認するためのハンドル。
共有グループを使用すると、複数のコンシューマーが同じパーティションのレコードを処理できる協調消費が可能になります。処理結果を示すには、各レコードを明示的に確認応答する必要があります。
確認の種類:
ACCEPT- レコードは正常に処理されましたRELEASE- 一時的な障害、再試行可能にするREJECT- 永久的な失敗です。再試行しないでください
このインターフェースは、明示的な確認応答モード(share.acknowledgement.mode=explicit)を使用する場合にのみ適用されます。暗黙的なモードでは、レコードは自動的に ACCEPT として確認応答されます。
メモ: 確認応答はコミット操作とは別です。レコードを確認応答した後、commitSync() または commitAsync() を使用してブローカーへの確認応答を永続化します。
- 導入:
- 4.0
- 作成者:
- Soby Chacko
メソッドの詳細
acknowledge
void acknowledge()レコードが正常に処理されたことを確認します。レコードは完了としてマークされ、再配信されません。確認応答は以下の場合にコミットされます。
- 次の
poll()は (batched with fetch) commitSync()またはcommitAsync()が明示的に呼び出される- コンシューマーは閉鎖されている
- 例外:
IllegalStateExceptionSE- if the record has already been acknowledged- 導入:
- 4.0
- 次の
release
void release()一時的な障害による再配信のためにレコードを解放します。The record will be made available for another delivery attempt. The acknowledgment will be committed when:
- 次の
poll()は (batched with fetch) commitSync()またはcommitAsync()が明示的に呼び出される- コンシューマーは閉鎖されている
- 例外:
IllegalStateExceptionSE- if the record has already been acknowledged
- 次の
reject
void reject()永続的な障害のため、レコードを拒否します。The record will not be delivered again and will be archived. The acknowledgment will be committed when:
- 次の
poll()は (batched with fetch) commitSync()またはcommitAsync()が明示的に呼び出される- コンシューマーは閉鎖されている
- 例外:
IllegalStateExceptionSE- if the record has already been acknowledged
- 次の