-
Apache Kafkaを使用する場合: Apache Kafkaは、分散ストリーミングプラットフォームであり、メッセージングシステムとして広く使用されています。以下は、Kafkaを使用してキー付きメッセージを送信する方法の例です。
import org.apache.kafka.clients.producer.*; import java.util.Properties; public class KafkaProducerExample { public static void main(String[] args) { // プロデューサーの設定 Properties props = new Properties(); props.put("bootstrap.servers", "localhost:9092"); props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer"); props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer"); // プロデューサーのインスタンス化 Producer<String, String> producer = new KafkaProducer<>(props); // メッセージの送信 String key = "myKey"; // 送信するメッセージのキー String value = "Hello, Kafka!"; // 送信するメッセージの値 producer.send(new ProducerRecord<>("myTopic", key, value)); // プロデューサーのクローズ producer.close(); } }
この例では、Kafkaのプロデューサーを作成し、
myTopic
というトピックに対してmyKey
というキーとHello, Kafka!
という値を持つメッセージを送信しています。 -
Spring Kafkaを使用する場合: Spring Kafkaは、JavaアプリケーションでのKafkaの使用を簡素化するためのフレームワークです。以下は、Spring Kafkaを使用してキー付きメッセージを送信する方法の例です。
import org.springframework.kafka.core.KafkaTemplate; public class KafkaProducerExample { private KafkaTemplate<String, String> kafkaTemplate; public KafkaProducerExample(KafkaTemplate<String, String> kafkaTemplate) { this.kafkaTemplate = kafkaTemplate; } public void sendMessage(String key, String value) { kafkaTemplate.send("myTopic", key, value); } }
上記の例では、Spring Kafkaの
KafkaTemplate
を使用して、myTopic
というトピックに対してキー付きのメッセージを送信するsendMessage
メソッドを定義しています。
これらの例を参考にして、Javaでキーを使用してメッセージを送信するプロデューサーを作成することができます。必要に応じて、使用するメッセージングシステムやフレームワークに応じて設定を調整してください。