インターフェース KafkaOperations<K,V>
- 型パラメーター:
K
- 鍵の型。V
- 値型。Kafka トピックがCreateTime
で設定されている場合、すべての送信操作は、提供されている場合はユーザー提供の時間を使用します。そうでない場合、KafkaProducer
はそれを生成します。トピックがLogAppendTime
で設定されている場合、ユーザー提供のタイムスタンプは無視され、代わりに Kafka ブローカーのローカル時間になります。メッセージが添えられています
- すべての既知の実装クラス:
AggregatingReplyingKafkaTemplate
、KafkaTemplate
、ReplyingKafkaTemplate
、RoutingKafkaTemplate
public interface KafkaOperations<K,V>
CompletableFuture
SE を返す基本的な Kafka オペレーション契約。- 作成者:
- Marius Bogoevici, Gary Russell, Biju Kunjummen, Giacomo Baso
ネストされたクラスのサマリー
ネストされたクラス修飾子と型インターフェース説明static interface
KafkaOperations
で任意の操作を実行するためのコールバック。static interface
Producer
で任意の操作を実行するためのコールバック。フィールドのサマリー
フィールドメソッドのサマリー
修飾子と型メソッド説明<T> T
execute
(KafkaOperations.ProducerCallback<K, V, T> callback) プロデューサーで任意の操作を実行し、結果を返します。<T> T
executeInTransaction
(KafkaOperations.OperationsCallback<K, V, T> callback) 操作に対して任意の操作を実行し、結果を返します。void
flush()
プロデューサーをフラッシュします。default ProducerFactory<K,
V> このテンプレートで使用されるプロデューサーファクトリを返します。default boolean
テンプレートが呼び出しスレッドのトランザクションで現在実行されている場合は true を返します。default boolean
このテンプレートがトランザクションの場合、トランザクション以外の操作を許可する場合は true を返します。boolean
実装がトランザクションをサポートしている (トランザクション対応のプロデューサーファクトリがある) 場合は true を返します。MapSE<org.apache.kafka.common.MetricName,
? extends org.apache.kafka.common.Metric> metrics()
Producer.metrics()
を参照してください。ListSE<org.apache.kafka.common.PartitionInfo>
partitionsFor
(StringSE topic) Producer.partitionsFor(String)
を参照してください。デフォルトのポーリングタイムアウト(5 秒)で単一のレコードを受信します。receive
(StringSE topic, int partition, long offset, DurationSE pollTimeout) 単一のレコードを受け取ります。receive
(CollectionSE<TopicPartitionOffset> requested) デフォルトのポーリングタイムアウト(5 秒)で複数のレコードを受信します。receive
(CollectionSE<TopicPartitionOffset> requested, DurationSE pollTimeout) 複数のレコードを受信します。提供されたキーとパーティションを使用して、提供されたトピックにデータを送信します。提供されたキーとパーティションを使用して、提供されたトピックにデータを送信します。提供されたキーを使用して、パーティションなしで、提供されたトピックにデータを送信します。キーまたはパーティションなしで、提供されたトピックにデータを送信します。提供されたProducerRecord
を送信します。メッセージヘッダーにルーティング情報を含むメッセージを送信します。sendDefault
(IntegerSE partition, LongSE timestamp, K key, V data) 提供されたキーとパーティションを使用して、データをデフォルトのトピックに送信します。sendDefault
(IntegerSE partition, K key, V data) 提供されたキーとパーティションを使用して、データをデフォルトのトピックに送信します。sendDefault
(K key, V data) 提供されたキーを使用してパーティションなしでデータをデフォルトのトピックに送信します。sendDefault
(V data) キーまたはパーティションなしでデータをデフォルトトピックに送信します。default void
sendOffsetsToTransaction
(MapSE<org.apache.kafka.common.TopicPartition, org.apache.kafka.clients.consumer.OffsetAndMetadata> offsets, org.apache.kafka.clients.consumer.ConsumerGroupMetadata groupMetadata) トランザクションで実行する場合は、コンシューマーオフセットをトランザクションに送信します。
フィールドの詳細
DEFAULT_POLL_TIMEOUT
receive(String, int, long)
のデフォルトのタイムアウト。
メソッドの詳細
sendDefault
キーまたはパーティションなしでデータをデフォルトトピックに送信します。- パラメーター:
data
- データ。- 戻り値:
SendResult
の未来。
sendDefault
提供されたキーを使用してパーティションなしでデータをデフォルトのトピックに送信します。- パラメーター:
key
- キー。data
- データ。- 戻り値:
SendResult
の未来。
sendDefault
提供されたキーとパーティションを使用して、データをデフォルトのトピックに送信します。- パラメーター:
partition
- パーティション。key
- キー。data
- データ。- 戻り値:
SendResult
の未来。
sendDefault
CompletableFutureSE<SendResult<K,V>> sendDefault(IntegerSE partition, LongSE timestamp, K key, @Nullable V data) 提供されたキーとパーティションを使用して、データをデフォルトのトピックに送信します。- パラメーター:
partition
- パーティション。timestamp
- レコードのタイムスタンプ。key
- キー。data
- データ。- 戻り値:
SendResult
の未来。- 導入:
- 1.3
send
キーまたはパーティションなしで、提供されたトピックにデータを送信します。- パラメーター:
topic
- トピック。data
- データ。- 戻り値:
SendResult
の未来。
send
提供されたキーを使用して、パーティションなしで、提供されたトピックにデータを送信します。- パラメーター:
topic
- トピック。key
- キー。data
- データ。- 戻り値:
SendResult
の未来。
send
CompletableFutureSE<SendResult<K,V>> send(StringSE topic, IntegerSE partition, K key, @Nullable V data) 提供されたキーとパーティションを使用して、提供されたトピックにデータを送信します。- パラメーター:
topic
- トピック。partition
- パーティション。key
- キー。data
- データ。- 戻り値:
SendResult
の未来。
send
CompletableFutureSE<SendResult<K,V>> send(StringSE topic, IntegerSE partition, LongSE timestamp, K key, @Nullable V data) 提供されたキーとパーティションを使用して、提供されたトピックにデータを送信します。- パラメーター:
topic
- トピック。partition
- パーティション。timestamp
- レコードのタイムスタンプ。key
- キー。data
- データ。- 戻り値:
SendResult
の未来。- 導入:
- 1.3
send
CompletableFutureSE<SendResult<K,V>> send(org.apache.kafka.clients.producer.ProducerRecord<K, V> record) 提供されたProducerRecord
を送信します。- パラメーター:
record
- レコード。- 戻り値:
SendResult
の未来。- 導入:
- 1.3
send
メッセージヘッダーにルーティング情報を含むメッセージを送信します。メッセージペイロードは、送信前に変換される場合があります。- パラメーター:
message
- 送信するメッセージ。- 戻り値:
SendResult
の未来。- 関連事項:
partitionsFor
Producer.partitionsFor(String)
を参照してください。- パラメーター:
topic
- トピック。- 戻り値:
- パーティション情報。
- 導入:
- 1.1
metrics
MapSE<org.apache.kafka.common.MetricName,? extends org.apache.kafka.common.Metric> metrics()Producer.metrics()
を参照してください。- 戻り値:
- メトリクス。
- 導入:
- 1.1
execute
プロデューサーで任意の操作を実行し、結果を返します。- 型パラメーター:
T
- 結果の型。- パラメーター:
callback
- コールバック。- 戻り値:
- 結果。
- 導入:
- 1.1
executeInTransaction
操作に対して任意の操作を実行し、結果を返します。操作はローカルトランザクション内で呼び出され、グローバルトランザクション (存在する場合) には参加しません。- 型パラメーター:
T
- 結果の型。- パラメーター:
callback
- コールバック。- 戻り値:
- 結果。
- 導入:
- 1.1
flush
void flush()プロデューサーをフラッシュします。sendOffsetsToTransaction
default void sendOffsetsToTransaction(MapSE<org.apache.kafka.common.TopicPartition, org.apache.kafka.clients.consumer.OffsetAndMetadata> offsets, org.apache.kafka.clients.consumer.ConsumerGroupMetadata groupMetadata) トランザクションで実行する場合、コンシューマーオフセットをトランザクションに送信します。操作がリスナーコンテナースレッドで呼び出された場合 (およびリスナーコンテナーがKafkaAwareTransactionManager
で構成されている場合) は、コンテナーがトランザクションへのオフセットの送信を処理するため、このメソッドを呼び出す必要はありません。2.5 ブローカー以降で使用します。- パラメーター:
offsets
- オフセット。groupMetadata
- コンシューマーグループのメタデータ。- 導入:
- 2.5
- 関連事項:
Producer.sendOffsetsToTransaction(Map, ConsumerGroupMetadata)
isTransactional
boolean isTransactional()実装がトランザクションをサポートしている (トランザクション対応のプロデューサーファクトリがある) 場合は true を返します。- 戻り値:
- 正しいか間違っているか。
- 導入:
- 2.3
isAllowNonTransactional
default boolean isAllowNonTransactional()このテンプレートがトランザクションの場合、トランザクション以外の操作を許可する場合は true を返します。- 戻り値:
- 許可する場合は true。
- 導入:
- 2.4.3
inTransaction
default boolean inTransaction()テンプレートが呼び出しスレッドのトランザクションで現在実行されている場合は true を返します。- 戻り値:
- トランザクションが実行されている場合は true。
- 導入:
- 2.5
getProducerFactory
このテンプレートで使用されるプロデューサーファクトリを返します。- 戻り値:
- ファクトリ。
- 導入:
- 2.5
receive
@Nullable default org.apache.kafka.clients.consumer.ConsumerRecord<K,V> receive(StringSE topic, int partition, long offset) デフォルトのポーリングタイムアウト(5 秒)で単一のレコードを受信します。- パラメーター:
topic
- トピック。partition
- パーティション。offset
- オフセット。- 戻り値:
- レコードまたは null。
- 導入:
- 2.8
- 関連事項:
receive
@Nullable org.apache.kafka.clients.consumer.ConsumerRecord<K,V> receive(StringSE topic, int partition, long offset, DurationSE pollTimeout) 単一のレコードを受け取ります。- パラメーター:
topic
- トピック。partition
- パーティション。offset
- オフセット。pollTimeout
- タイムアウト。- 戻り値:
- レコードまたは null。
- 導入:
- 2.8
receive
default org.apache.kafka.clients.consumer.ConsumerRecords<K,V> receive(CollectionSE<TopicPartitionOffset> requested) デフォルトのポーリングタイムアウト(5 秒)で複数のレコードを受信します。絶対的な正のオフセットのみがサポートされます。- パラメーター:
requested
- レコードリクエストのコレクション(トピック / パーティション / オフセット)。- 戻り値:
- レコード
- 導入:
- 2.8
- 関連事項:
receive
org.apache.kafka.clients.consumer.ConsumerRecords<K,V> receive(CollectionSE<TopicPartitionOffset> requested, DurationSE pollTimeout) 複数のレコードを受信します。絶対的な正のオフセットのみがサポートされます。- パラメーター:
requested
- レコードリクエストのコレクション(トピック / パーティション / オフセット)。pollTimeout
- タイムアウト。- 戻り値:
- レコードまたは null。
- 導入:
- 2.8