diff --git a/spring-boot-samples/spring-boot-sample-parent-context/pom.xml b/spring-boot-samples/spring-boot-sample-parent-context/pom.xml
index a0807593d5..abec95ea40 100644
--- a/spring-boot-samples/spring-boot-sample-parent-context/pom.xml
+++ b/spring-boot-samples/spring-boot-sample-parent-context/pom.xml
@@ -28,6 +28,10 @@
org.springframework.boot
spring-boot-starter-actuator
+
+ org.springframework.integration
+ spring-integration-file
+
org.springframework.integration
spring-integration-jmx
diff --git a/spring-boot-samples/spring-boot-sample-parent-context/src/main/java/sample/parent/SampleParentContextApplication.java b/spring-boot-samples/spring-boot-sample-parent-context/src/main/java/sample/parent/SampleParentContextApplication.java
index 0e50611ea6..9bcdec26cb 100644
--- a/spring-boot-samples/spring-boot-sample-parent-context/src/main/java/sample/parent/SampleParentContextApplication.java
+++ b/spring-boot-samples/spring-boot-sample-parent-context/src/main/java/sample/parent/SampleParentContextApplication.java
@@ -16,20 +16,71 @@
package sample.parent;
+import java.io.File;
+
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
-import org.springframework.context.annotation.ImportResource;
+import org.springframework.context.annotation.Bean;
+import org.springframework.integration.channel.DirectChannel;
+import org.springframework.integration.dsl.IntegrationFlow;
+import org.springframework.integration.dsl.IntegrationFlows;
+import org.springframework.integration.dsl.SourcePollingChannelAdapterSpec;
+import org.springframework.integration.dsl.core.Pollers;
+import org.springframework.integration.dsl.support.Consumer;
+import org.springframework.integration.file.FileReadingMessageSource;
+import org.springframework.integration.file.FileWritingMessageHandler;
@SpringBootApplication
@EnableConfigurationProperties(ServiceProperties.class)
public class SampleParentContextApplication {
@EnableAutoConfiguration
- @ImportResource("integration-context.xml")
protected static class Parent {
+ @Bean
+ public FileReadingMessageSource fileReader() {
+ FileReadingMessageSource reader = new FileReadingMessageSource();
+ reader.setDirectory(new File("target/input"));
+ return reader;
+ }
+
+ @Bean
+ public DirectChannel inputChannel() {
+ return new DirectChannel();
+ }
+
+ @Bean
+ public DirectChannel outputChannel() {
+ return new DirectChannel();
+ }
+
+ @Bean
+ public FileWritingMessageHandler fileWriter() {
+ FileWritingMessageHandler writer = new FileWritingMessageHandler(
+ new File("target/output"));
+ writer.setExpectReply(false);
+ return writer;
+ }
+
+ @Bean
+ public IntegrationFlow integrationFlow(SampleEndpoint endpoint) {
+ return IntegrationFlows.from(fileReader(), new FixedRatePoller())
+ .channel(inputChannel()).handle(endpoint).channel(outputChannel())
+ .handle(fileWriter()).get();
+ }
+
+ private static class FixedRatePoller
+ implements Consumer {
+
+ @Override
+ public void accept(SourcePollingChannelAdapterSpec spec) {
+ spec.poller(Pollers.fixedRate(500));
+ }
+
+ }
+
}
public static void main(String[] args) throws Exception {
diff --git a/spring-boot-samples/spring-boot-sample-parent-context/src/main/resources/integration-context.xml b/spring-boot-samples/spring-boot-sample-parent-context/src/main/resources/integration-context.xml
deleted file mode 100644
index 0ac88e8ee7..0000000000
--- a/spring-boot-samples/spring-boot-sample-parent-context/src/main/resources/integration-context.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-