diff --git a/spring-integration-ip/src/main/java/org/springframework/integration/ip/config/TcpConnectionFactoryFactoryBean.java b/spring-integration-ip/src/main/java/org/springframework/integration/ip/config/TcpConnectionFactoryFactoryBean.java index 14a3de67df..b6447df769 100644 --- a/spring-integration-ip/src/main/java/org/springframework/integration/ip/config/TcpConnectionFactoryFactoryBean.java +++ b/spring-integration-ip/src/main/java/org/springframework/integration/ip/config/TcpConnectionFactoryFactoryBean.java @@ -18,10 +18,11 @@ package org.springframework.integration.ip.config; import java.util.concurrent.Executor; -import org.springframework.beans.factory.BeanFactory; -import org.springframework.beans.factory.BeanFactoryAware; +import org.springframework.beans.BeansException; import org.springframework.beans.factory.BeanNameAware; import org.springframework.beans.factory.config.AbstractFactoryBean; +import org.springframework.context.ApplicationContext; +import org.springframework.context.ApplicationContextAware; import org.springframework.context.ApplicationEventPublisher; import org.springframework.context.ApplicationEventPublisherAware; import org.springframework.context.SmartLifecycle; @@ -56,7 +57,7 @@ import org.springframework.util.Assert; * @since 2.0.5 */ public class TcpConnectionFactoryFactoryBean extends AbstractFactoryBean implements SmartLifecycle, BeanNameAware, - BeanFactoryAware, ApplicationEventPublisherAware { + ApplicationEventPublisherAware, ApplicationContextAware { private volatile AbstractConnectionFactory connectionFactory; @@ -74,7 +75,7 @@ public class TcpConnectionFactoryFactoryBean extends AbstractFactoryBean getObjectType() { return this.connectionFactory != null ? this.connectionFactory.getClass() : - this.type == null ? AbstractConnectionFactory.class : - isServer() ? AbstractServerConnectionFactory.class : - isClient() ? AbstractClientConnectionFactory.class : - AbstractConnectionFactory.class; + this.type == null ? AbstractConnectionFactory.class : + isServer() ? AbstractServerConnectionFactory.class : + isClient() ? AbstractClientConnectionFactory.class : + AbstractConnectionFactory.class; } @Override protected AbstractConnectionFactory createInstance() throws Exception { if (!this.mapperSet) { - this.mapper.setBeanFactory(this.beanFactory); + this.mapper.setBeanFactory(getBeanFactory()); } if (this.usingNio) { if (isServer()) { @@ -188,6 +190,11 @@ public class TcpConnectionFactoryFactoryBean extends AbstractFactoryBean