völlig neu in Java.spring-kafka: Wie übergibt man eine Methode an eine andere Methode, die (per Entwurf) nie zurückkehrt?
Schreiben einer feder kafka App, die die folgende Kafka-Listener-Methode hat:
@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();
}
}
fragte ich habe diesen Teil der App in einem separaten Stand-alone-Paket Refactoring, so dass die „receiveMessage "könnte aufgerufen werden, und anstelle von" handleMessage "könnte eine Methode/Funktion übergeben werden, um jede eingehende Nachricht zu verarbeiten.
Diese "receiveMessage" -Methode kehrt nie zurück, da sie immer auf ein Kafka-Thema hört.
Was die richtige Syntax sein würde, zu ändern/in dieser Methode hinzufügen, so dass es als Paket/Bibliothek und eine Botschaftsmethode Handhabung würde übergeben, um es durch den anrufenden App aufgerufen werden könnte:
...
import kafkaReceiver;
messageHandler(String message){
......
}
kafkaReceiver.receiveMessage(messageHandler);