对java完全陌生。
编写一个spring kafka应用程序,它具有以下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);
1条答案
按热度按时间ubbxdtey1#
它是java。没有这样的概念
method to method
. 有一些对象,通常称为services
. 所以,你可以提取你的@KafkaListener
服务并向其中注入适当的服务实现: