ポンポンファイル:
<?XMLバージョン= "1.0"エンコード= "UTF-8" ?> < プロジェクトのxmlns = "http://maven.apache.org/POM/4.0.0" のxmlns:XSI = "http://www.w3.org / 2001 / XMLスキーマ・インスタンス」 のxsi:のschemaLocation = "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" > < modelVersion > 4.0.0 </ modelVersion > < 親> < groupIdを> org.springframework.boot </ groupIdを> < たartifactId > < バージョン> 2.1.4.RELEASE </ バージョン> < relativePath /> <! - ルックアップ親リポジトリから- > </ 親> < groupIdを> com.example </ groupIdを> < たartifactId > kafka_demo </ たartifactId > < バージョン> 0.0.1-SNAPSHOT </ バージョン> < 名前> kafka_demo </ 名前> <説明>春のブートのためのデモプロジェクト</ 記述> < プロパティ> < のjava.version > 1.8 </ のjava.version > </ プロパティ> < 依存性> < 依存> < groupIdを> org.springframework.boot </ groupIdを> < たartifactId >春-bootスタータウェブ</ たartifactId > </ 依存> < 依存性> <groupId >org.springframework.boot </ groupIdを> < たartifactId >春・ブート・スターターテスト</ たartifactId > < スコープ>テスト</ スコープ> </ 依存関係> <! - https://mvnrepository.com/artifact/org .apache.kafka /カフカ-クライアント- > < 依存> < groupIdを> org.apache.kafka </ groupIdを> < たartifactId >カフカ-クライアント</ たartifactId > <バージョン>2.2.0 </ バージョン> </ 依存関係> </ 依存関係> < 構築> < プラグイン> < プラグイン> < groupIdを> org.springframework.boot </ groupIdを> < たartifactId >春・ブートのmaven-pluginの</ たartifactId > </ プラグイン> </ プラグイン> </ 構築> </ プロジェクト>
最初:一般的なメーカー:
パッケージcom.example.kafka_demo。 輸入 org.apache.kafka.clients.producer *。; 輸入java.util.Properties; パブリック クラスデモ{ 公共 静的 ボイドメイン(文字列[]引数){ プロパティの小道具 = 新しいプロパティ(); props.put( "bootstrap.servers"、 "192.168.8.20:9092" ); props.put( "のACK"、 "0" )。 props.put( "再試行"、0 ); // props.put( "batch.size"、16384); props.put( "key.serializer"、 "org.apache.kafka.common.serialization.StringSerializer" ); props.put( "value.serializer"、 "org.apache.kafka.common.serialization.StringSerializer" ); プロデューサープロデューサー = 新しいKafkaProducer(小道具)。 // 正常发送消息的プロデューサ // ProducerRecord <文字列、文字列>レコード=新しいProducerRecord <>( "第一"、 "333")。 // 带キー的プロデューサー // ProducerRecord <文字列、文字列>のレコード= <新しいProducerRecord>( "第1"、 "キー"、 "3312333")。 ProducerRecord <>( "第一"、0、 "キー"、 "恋人" )。 producer.send(レコード)。 producer.close(); } }
第二:プロデューサーのコールバック関数
パッケージcom.example.kafka_demo。 輸入 org.apache.kafka.clients.producer *。; 輸入java.util.Properties; パブリック クラスデモ{ 公共 静的 ボイドメイン(文字列[]引数){ プロパティの小道具 = 新しいプロパティ(); props.put( "bootstrap.servers"、 "192.168.8.20:9092" ); props.put( "のACK"、 "1" )。 props.put( "再試行"、0 ); // props.put( "batch.size"、16384); props.put( "key.serializer"、「org.apache.kafka.common。); props.put( "value.serializer"、 "org.apache.kafka.common.serialization.StringSerializer" ); プロデューサープロデューサー = 新しいKafkaProducer(小道具)。 ProducerRecord <文字列、文字列>レコード= 新しい ProducerRecord <>( "第一"、0、 "123"、 "haasdf" )。 producer.send(レコード、(メタデータ、E) - > { 場合(E =!ヌル){ e.printStackTrace(); } System.out.printlnは( "成功:" + メタデータ); }); producer.close();