0
Ich versuche, etwas von meinem Code aus XML in Java-Dsl-Stil (Pre-Java8) zu migrieren.Frühling Integration Java Dsl - Java 7 - Set Poller in Outbound-Kanal-Adapter
Dies ist die Java-Konfiguration, die ich erstellt habe, ich bin nicht in der Lage herauszufinden, wie Sie den Poller einstellen. Die Beispiele sprechen nur über globale Poller, aber ich muss den Poller in dem Adapter in meinem Fall einstellen.
@Bean
public MessageHandler kafkaMessageHandler() {
KafkaProducerMessageHandler<String, String> handler =
new KafkaProducerMessageHandler<>(kafkaTemplate());
handler.setMessageKeyExpression(new LiteralExpression("kafka-integration"));
handler.setTopicExpression(new LiteralExpression("headers.kafka_topic"));
return handler;
}
@Bean
public KafkaTemplate<String, String> kafkaTemplate() {
return new KafkaTemplate<>(new DefaultKafkaProducerFactory<String, String>(producerConfigs()));
}
@Bean
public Map<String, Object> producerConfigs() {
Map<String, Object> properties = new HashMap<>();
properties.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, "localhost:9092");
properties.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class);
properties.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, ByteArraySerializer.class);
// introduce a delay on the send to allow more messages to accumulate
properties.put(ProducerConfig.LINGER_MS_CONFIG, 1);
return properties;
}
Das XML-Äquivalent ich habe, ist die folgende:
<int-kafka:outbound-channel-adapter
id="kafkaOutboundChannelAdapter"
kafka-producer-context-ref="kafkaProducerContext"
channel="kafkaChannel" >
<int:poller fixed-rate="1000" max-messages-per-poll="10000}"/>
</int-kafka:outbound-channel-adapter>
Dank, genau das, was ich suchte. – Vidhya