import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.ImportResource;
import org.springframework.expression.common.LiteralExpression;
import org.springframework.integration.annotation.InboundChannelAdapter;
import org.springframework.integration.annotation.ServiceActivator;
-import org.springframework.integration.channel.DirectChannel;
import org.springframework.integration.config.EnableIntegration;
import org.springframework.integration.kafka.inbound.KafkaMessageSource;
import org.springframework.integration.kafka.outbound.KafkaProducerMessageHandler;
@SpringBootApplication
@EnableConfigurationProperties(SplitterApplicationProperties.class)
@EnableIntegration
+@ImportResource("classpath:integration.xml")
public class SplitterApplication
{
@Bean
- MessageChannel words()
+ ChannelInterceptor keyInterceptor ()
{
- DirectChannel words = new DirectChannel();
- words.addInterceptor(new ChannelInterceptor()
+ return new ChannelInterceptor()
{
@Override
public Message<?> preSend(Message<?> message, MessageChannel channel)
.setHeader(KafkaHeaders.MESSAGE_KEY, key)
.build();
}
- });
- return words;
+ };
}
@InboundChannelAdapter(channel = "recordings")