私は kafka 要求/応答セマンティックに基づいてマイクロサービス アプリケーションを作成しているので、メッセージ プロデューサーとして ReplyingKafkaTemplate を構成し、サービス要求リスナーとして @SendTo 注釈メソッドを使用して @KafkaListener を構成しました。トピック名に基づいて動的に @KafkaListeners および @SendTo アノテーションでマークされたメソッドを持つクラスを作成する必要があります。次のようになります。
@Component
class KafkaReceiver {
// LISTENER FOR OTHER MICROSERVICE REQUESTS
@KafkaListener("#{topicProvider.getTopic()})
@SendTo
public Response listen(Request request) {
... some logic
return response;
}
}
@Component
class KafkaRecevierFactory {
public KafkaReceiver createListener(String topic) {
...
return kafkaReceiver;
}
//OR SOMETHING LIKE THIS:
public void runListenerContainer(String topic, ReqeustProcessor processor) {
Container container = ContainerFactory.create(topic)
container.setListener( request -> {
Response resp = processor.process(request);
return resp;
});
container.start();
}
}
とにかく私はこれを行うことができますか?