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(keyInterceptor);
- return words;
- }
-
@Bean
ChannelInterceptor keyInterceptor ()
{
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:int="http://www.springframework.org/schema/integration"
+ xmlns:int-kafka="http://www.springframework.org/schema/integration/kafka"
+ xsi:schemaLocation="
+ http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd
+ http://www.springframework.org/schema/integration https://www.springframework.org/schema/integration/spring-integration.xsd
+ http://www.springframework.org/schema/integration/kafka http://www.springframework.org/schema/integration/kafka/spring-integration-kafka.xsd">
+
+ <int:channel id="words">
+ <int:interceptors>
+ <ref bean="keyInterceptor"/>
+ </int:interceptors>
+ </int:channel>
+
+</beans>