diff --git a/advanced/dynamic-ftp/src/main/java/org/springframework/integration/samples/ftp/DynamicFtpChannelResolver.java b/advanced/dynamic-ftp/src/main/java/org/springframework/integration/samples/ftp/DynamicFtpChannelResolver.java index c14e82b7..9a6ba2e6 100644 --- a/advanced/dynamic-ftp/src/main/java/org/springframework/integration/samples/ftp/DynamicFtpChannelResolver.java +++ b/advanced/dynamic-ftp/src/main/java/org/springframework/integration/samples/ftp/DynamicFtpChannelResolver.java @@ -46,6 +46,14 @@ public class DynamicFtpChannelResolver { * @return a channel */ public MessageChannel resolve(String customer) { + MessageChannel channel = this.channels.get(customer); + if (channel == null) { + channel = createNewCustomerChannel(customer); + } + return channel; + } + + private synchronized MessageChannel createNewCustomerChannel(String customer) { MessageChannel channel = this.channels.get(customer); if (channel == null) { ConfigurableApplicationContext ctx = new ClassPathXmlApplicationContext(