2017-07-19 5 views
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> 

Antwort

1

the documentation ansehen ...

@Bean 
@ServiceActivator(inputChannel = "kafkaChannel" poller = @Poller(fixedDelay = "1000", ...) 
public MessageHandler kafkaMessageHandler() { 
    ... 
} 
+0

Dank, genau das, was ich suchte. – Vidhya

Verwandte Themen