diff --git a/spring-integration-activiti/src/main/java/org/springframework/integration/activiti/gateway/ActivityBehaviorMessagingGatewayFactoryBean.java b/spring-integration-activiti/src/main/java/org/springframework/integration/activiti/gateway/ActivityBehaviorMessagingGatewayFactoryBean.java index 1a136374ba..e0df2081e7 100644 --- a/spring-integration-activiti/src/main/java/org/springframework/integration/activiti/gateway/ActivityBehaviorMessagingGatewayFactoryBean.java +++ b/spring-integration-activiti/src/main/java/org/springframework/integration/activiti/gateway/ActivityBehaviorMessagingGatewayFactoryBean.java @@ -8,12 +8,15 @@ import org.springframework.beans.factory.BeanFactoryAware; import org.springframework.beans.factory.BeanNameAware; import org.springframework.beans.factory.FactoryBean; +import org.springframework.beans.factory.config.AbstractFactoryBean; import org.springframework.integration.MessageChannel; import org.springframework.transaction.PlatformTransactionManager; -public class ActivityBehaviorMessagingGatewayFactoryBean implements FactoryBean, BeanFactoryAware, BeanNameAware { +public class ActivityBehaviorMessagingGatewayFactoryBean + extends AbstractFactoryBean implements + BeanFactoryAware, BeanNameAware { private volatile boolean updateProcessVariablesFromReplyMessageHeaders = false; private volatile boolean forwardProcessVariablesAsMessageHeaders = false; private volatile PlatformTransactionManager platformTransactionManager; @@ -29,6 +32,38 @@ public class ActivityBehaviorMessagingGatewayFactoryBean implements FactoryBean, this.async = async; } + @Override + protected Object createInstance() throws Exception { + + if (this.async) { + AsyncActivityBehaviorMessagingGateway asyncActivityBehaviorMessagingGateway = new AsyncActivityBehaviorMessagingGateway(); + asyncActivityBehaviorMessagingGateway.setForwardProcessVariablesAsMessageHeaders(this.forwardProcessVariablesAsMessageHeaders); + asyncActivityBehaviorMessagingGateway.setUpdateProcessVariablesFromReplyMessageHeaders(this.updateProcessVariablesFromReplyMessageHeaders); + asyncActivityBehaviorMessagingGateway.setPlatformTransactionManager(this.platformTransactionManager); + asyncActivityBehaviorMessagingGateway.setReplyChannel(this.replyChannel); + asyncActivityBehaviorMessagingGateway.setProcessEngine(this.processEngine); + asyncActivityBehaviorMessagingGateway.setRequestChannel(this.requestChannel); + asyncActivityBehaviorMessagingGateway.setBeanFactory(this.beanFactory); + asyncActivityBehaviorMessagingGateway.setBeanName(this.beanName); + asyncActivityBehaviorMessagingGateway.afterPropertiesSet(); + + return asyncActivityBehaviorMessagingGateway; + } else { + SyncActivityBehaviorMessagingGateway syncActivityBehaviorMessagingGateway = new SyncActivityBehaviorMessagingGateway(); + syncActivityBehaviorMessagingGateway.setForwardProcessVariablesAsMessageHeaders(this.forwardProcessVariablesAsMessageHeaders); + syncActivityBehaviorMessagingGateway.setUpdateProcessVariablesFromReplyMessageHeaders(this.updateProcessVariablesFromReplyMessageHeaders); + syncActivityBehaviorMessagingGateway.setPlatformTransactionManager(this.platformTransactionManager); + syncActivityBehaviorMessagingGateway.setReplyChannel(this.replyChannel); + syncActivityBehaviorMessagingGateway.setProcessEngine(this.processEngine); + syncActivityBehaviorMessagingGateway.setRequestChannel(this.requestChannel); + syncActivityBehaviorMessagingGateway.setBeanFactory(this.beanFactory); + syncActivityBehaviorMessagingGateway.setBeanName(this.beanName); + syncActivityBehaviorMessagingGateway.afterPropertiesSet(); + + return syncActivityBehaviorMessagingGateway; + } + } + @SuppressWarnings("unused") public void setProcessEngine(ProcessEngine processEngine) { this.processEngine = processEngine; @@ -65,35 +100,6 @@ public class ActivityBehaviorMessagingGatewayFactoryBean implements FactoryBean, this.replyChannel = replyChannel; } - public Object getObject() throws Exception { - if (this.async) { - AsyncActivityBehaviorMessagingGateway asyncActivityBehaviorMessagingGateway = new AsyncActivityBehaviorMessagingGateway(); - asyncActivityBehaviorMessagingGateway.setForwardProcessVariablesAsMessageHeaders(this.forwardProcessVariablesAsMessageHeaders); - asyncActivityBehaviorMessagingGateway.setUpdateProcessVariablesFromReplyMessageHeaders(this.updateProcessVariablesFromReplyMessageHeaders); - asyncActivityBehaviorMessagingGateway.setPlatformTransactionManager(this.platformTransactionManager); - asyncActivityBehaviorMessagingGateway.setReplyChannel(this.replyChannel); - asyncActivityBehaviorMessagingGateway.setProcessEngine(this.processEngine); - asyncActivityBehaviorMessagingGateway.setRequestChannel(this.requestChannel); - asyncActivityBehaviorMessagingGateway.setBeanFactory(this.beanFactory); - asyncActivityBehaviorMessagingGateway.setBeanName(this.beanName); - asyncActivityBehaviorMessagingGateway.afterPropertiesSet(); - - return asyncActivityBehaviorMessagingGateway; - } else { - SyncActivityBehaviorMessagingGateway syncActivityBehaviorMessagingGateway = new SyncActivityBehaviorMessagingGateway(); - syncActivityBehaviorMessagingGateway.setForwardProcessVariablesAsMessageHeaders(this.forwardProcessVariablesAsMessageHeaders); - syncActivityBehaviorMessagingGateway.setUpdateProcessVariablesFromReplyMessageHeaders(this.updateProcessVariablesFromReplyMessageHeaders); - syncActivityBehaviorMessagingGateway.setPlatformTransactionManager(this.platformTransactionManager); - syncActivityBehaviorMessagingGateway.setReplyChannel(this.replyChannel); - syncActivityBehaviorMessagingGateway.setProcessEngine(this.processEngine); - syncActivityBehaviorMessagingGateway.setRequestChannel(this.requestChannel); - syncActivityBehaviorMessagingGateway.setBeanFactory(this.beanFactory); - syncActivityBehaviorMessagingGateway.setBeanName(this.beanName); - syncActivityBehaviorMessagingGateway.afterPropertiesSet(); - - return syncActivityBehaviorMessagingGateway; - } - } public Class getObjectType() { return this.async ? AsyncActivityBehaviorMessagingGateway.class : SyncActivityBehaviorMessagingGateway.class; diff --git a/spring-integration-activiti/src/test/resources/org/springframework/integration/activiti/GatewayTest-context.xml b/spring-integration-activiti/src/test/resources/org/springframework/integration/activiti/GatewayTest-context.xml index bc0bef42c4..6294ee9f3c 100644 --- a/spring-integration-activiti/src/test/resources/org/springframework/integration/activiti/GatewayTest-context.xml +++ b/spring-integration-activiti/src/test/resources/org/springframework/integration/activiti/GatewayTest-context.xml @@ -8,9 +8,10 @@ xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation=" - http://www.springframework.org/schema/integration/activiti http://www.springframework.org/schema/integration/activiti/spring-integration-activiti-2.0.xsd + http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd + http://www.springframework.org/schema/integration/activiti http://www.springframework.org/schema/integration/activiti/spring-integration-activiti-2.0.xsd http://www.springframework.org/schema/integration http://www.springframework.org/schema/integration/spring-integration.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang-3.0.xsd diff --git a/spring-integration-activiti/src/test/resources/org/springframework/integration/activiti/OutboundAdapterTest-context.xml b/spring-integration-activiti/src/test/resources/org/springframework/integration/activiti/OutboundAdapterTest-context.xml index e802cd7c19..2788318328 100644 --- a/spring-integration-activiti/src/test/resources/org/springframework/integration/activiti/OutboundAdapterTest-context.xml +++ b/spring-integration-activiti/src/test/resources/org/springframework/integration/activiti/OutboundAdapterTest-context.xml @@ -71,10 +71,14 @@ - + - + diff --git a/spring-integration-samples/multipart-http/src/main/webapp/WEB-INF/servlet-config.xml b/spring-integration-samples/multipart-http/src/main/webapp/WEB-INF/servlet-config.xml index 3fe44b98d6..e4ee368bc1 100644 --- a/spring-integration-samples/multipart-http/src/main/webapp/WEB-INF/servlet-config.xml +++ b/spring-integration-samples/multipart-http/src/main/webapp/WEB-INF/servlet-config.xml @@ -10,9 +10,14 @@ xmlns:int-http="http://www.springframework.org/schema/integration/http"> - - - + + + + +