splitter: 1.0.0-spring-integration-xml - defined the `DirectChannel` in XML
authorKai Moritz <kai@juplo.de>
Thu, 30 Jun 2022 14:46:39 +0000 (16:46 +0200)
committerKai Moritz <kai@juplo.de>
Sun, 17 Jul 2022 12:47:33 +0000 (14:47 +0200)
src/main/java/de/juplo/kafka/wordcount/splitter/SplitterApplication.java
src/main/resources/integration.xml [new file with mode: 0644]

index d9ba135..fd3becd 100644 (file)
@@ -4,10 +4,10 @@ import org.springframework.boot.SpringApplication;
 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;
@@ -26,16 +26,9 @@ import org.springframework.messaging.support.ChannelInterceptor;
 @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 ()
        {
diff --git a/src/main/resources/integration.xml b/src/main/resources/integration.xml
new file mode 100644 (file)
index 0000000..c632967
--- /dev/null
@@ -0,0 +1,15 @@
+<?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"
+    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">
+
+  <int:channel id="words">
+    <int:interceptors>
+      <ref bean="keyInterceptor"/>
+    </int:interceptors>
+  </int:channel>
+
+</beans>