Javaのまったく新しい。
次の Kafka リスナー メソッドを持つ spring-kafka アプリを作成します。
@KafkaListener(id = "receiver-api",
topicPartitions =
{ @TopicPartition(topic = "topic1",
partitionOffsets = @PartitionOffset(partition = "0", initialOffset = "0")))})
public void receiveMessage(String message) {
try {
JSONObject incomingJsonObject = new JSONObject(message);
handleMessage(incomingJsonObject);
}
} catch (Exception e) {
e.printStackTrace();
}
}
アプリのこの部分を個別のスタンドアロン パッケージにリファクタリングするように依頼されたので、「receiveMessage」を呼び出して、「handleMessage」の代わりにメソッド/関数を渡して、それぞれを処理できます。着信メッセージ。
この「receiveMessage」メソッドは、Kafka トピックをリッスンし続けるため、戻りません。
このメソッドを変更/追加するための適切な構文は何でしょうか。これにより、パッケージ/ライブラリとして呼び出すことができ、呼び出し元のアプリによってメッセージ処理メソッドが渡されます。
...
import kafkaReceiver;
messageHandler(String message){
......
}
kafkaReceiver.receiveMessage(messageHandler);