クラス KafkaItemReader<K,V>
java.lang.ObjectSE
org.springframework.batch.item.ItemStreamSupport
org.springframework.batch.item.support.AbstractItemStreamItemReader<V>
org.springframework.batch.item.kafka.KafkaItemReader<K,V>
- 実装されているすべてのインターフェース:
ItemReader<V>、ItemStream、ItemStreamReader<V>
Apache Kafka の ItemReader 実装。KafkaConsumer を使用して、指定されたトピックからデータを読み取ります。同じトピック内の複数のパーティションをこのリーダーに割り当てることができます。
KafkaConsumer はスレッドセーフではないため、このリーダーはスレッドセーフではありません。
- 導入:
- 4.2
- 作成者:
- Mathieu Ouellet, Mahmoud Ben Hassine
コンストラクターの概要
コンストラクターコンストラクター説明KafkaItemReader(PropertiesSE consumerProperties, StringSE topicName, IntegerSE... partitions) 新しいKafkaItemReaderを作成します。KafkaItemReader(PropertiesSE consumerProperties, StringSE topicName, ListSE<IntegerSE> partitions) 新しいKafkaItemReaderを作成します。メソッドのサマリー
修飾子と型メソッド説明voidclose()ノーオペレーション。boolean再起動のために内部状態を保存するかどうかを決定するフラグ。voidopen(ExecutionContext executionContext) ノーオペレーション。read()入力データの一部を読み取り、次のデータに進みます。voidsetPartitionOffsets(MapSE<org.apache.kafka.common.TopicPartition, LongSE> partitionOffsets) パーティションオフセット用の Setter。voidsetPollTimeout(DurationSE pollTimeout) コンシューマートピックのポーリング期間のタイムアウトを設定します。voidsetSaveState(boolean saveState) ExecutionContextの内部データを保存するかどうかを決定するフラグを設定します。voidupdate(ExecutionContext executionContext) 空のExecutionContextを返します。クラス org.springframework.batch.item.ItemStreamSupport から継承されたメソッド
getExecutionContextKey, getName, setExecutionContextName, setName
コンストラクターの詳細
KafkaItemReader
public KafkaItemReader(PropertiesSE consumerProperties, StringSE topicName, IntegerSE... partitions) 新しいKafkaItemReaderを作成します。
.consumerPropertiesには次のキーが含まれている必要があります: 'bootstrap.servers'、'group.id'、'key.deserializer' および 'value.deserializer'- パラメーター:
consumerProperties- コンシューマーの特性topicName- データを読み取るトピックの名前partitions- データを読み取るパーティションのリスト
KafkaItemReader
public KafkaItemReader(PropertiesSE consumerProperties, StringSE topicName, ListSE<IntegerSE> partitions) 新しいKafkaItemReaderを作成します。
.consumerPropertiesには次のキーが含まれている必要があります: 'bootstrap.servers'、'group.id'、'key.deserializer' および 'value.deserializer'- パラメーター:
consumerProperties- コンシューマーの特性topicName- データを読み取るトピックの名前partitions- データを読み取るパーティションのリスト
メソッドの詳細
setPollTimeout
コンシューマートピックのポーリング期間のタイムアウトを設定します。デフォルトは 30 秒です。- パラメーター:
pollTimeout- コンシューマー投票操作用
setSaveState
public void setSaveState(boolean saveState) ExecutionContextの内部データを保存するかどうかを決定するフラグを設定します。このストリームから状態を保存したくない場合にのみ、これを false に切り替えて、再起動可能にする必要はありません。リーダーが並行環境で使用されている場合は、常に false に設定します。- パラメーター:
saveState- フラグ値(デフォルトは true)。
isSaveState
public boolean isSaveState()再起動のために内部状態を保存するかどうかを決定するフラグ。- 戻り値:
- フラグが設定されている場合は true
setPartitionOffsets
public void setPartitionOffsets(MapSE<org.apache.kafka.common.TopicPartition, LongSE> partitionOffsets) パーティションオフセット用の Setter。このマッピングは、各パーティションで読み取りを開始するオフセットをリーダーに通知します。これはオプションであり、デフォルトでは各パーティションのオフセット 0 から始まります。空のマップを渡すと、リーダーは、コンシューマーグループ ID の Kafka に格納されているオフセットから開始します。再起動の場合、実行コンテキストに保存されているオフセットが優先されます。
- パラメーター:
partitionOffsets- 各パーティションの開始オフセットのマッピング
open
クラスからコピーされた説明:ItemStreamSupportノーオペレーション。- 次で指定:
- インターフェース
ItemStreamのopen - オーバーライド:
- クラス
ItemStreamSupportのopen - パラメーター:
executionContext- 現在のステップのExecutionContext。再起動時のステップの最後の実行からの executionContext になります。- 関連事項:
read
インターフェースからコピーされた説明:ItemReader入力データの一部を読み取り、次のデータに進みます。実装は、入力データセットの最後にnullを返す必要があります。トランザクション設定では、最初の呼び出しがロールバックされたトランザクション内にあった場合、呼び出し元は連続した呼び出し(またはそれ以外)から同じアイテムを 2 回取得する場合があります。- 戻り値:
- T 処理するアイテム、またはデータソースが使い果たされた場合は
null
update
クラスからコピーされた説明:ItemStreamSupport空のExecutionContextを返します。- 次で指定:
- インターフェース
ItemStreamのupdate - オーバーライド:
- クラス
ItemStreamSupportのupdate - パラメーター:
executionContext- 更新される- 関連事項:
close
public void close()クラスからコピーされた説明:ItemStreamSupportノーオペレーション。- 次で指定:
- インターフェース
ItemStreamのclose - オーバーライド:
- クラス
ItemStreamSupportのclose - 関連事項: