]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - runtime/org.argeo.slc.support.simple/src/main/resources/org/argeo/slc/core/execution/spring.xml
Runtime improvements
[gpl/argeo-slc.git] / runtime / org.argeo.slc.support.simple / src / main / resources / org / argeo / slc / core / execution / spring.xml
index 8a950fcf0b9a172b7fd100dbf9ff220b317359df..33d4b7ef861d7257b23e96e394d7a51e16c7dd11 100644 (file)
@@ -8,25 +8,48 @@
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">
 
        <import resource="specs.xml" />
+       <import resource="templates.xml" />
+       <import resource="defaults.xml" />
+       <import resource="utils.xml" />
        <import resource="tasks/core.xml" />
 
        <bean class="org.springframework.beans.factory.config.CustomScopeConfigurer">
                <property name="scopes">
                        <map>
                                <entry key="execution">
-                                       <bean class="org.argeo.slc.core.execution.ExecutionScope" />
+                                       <ref local="executionScope"/>
                                </entry>
                        </map>
                </property>
        </bean>
 
+       <bean id="executionScope" class="org.argeo.slc.core.execution.ExecutionScope" />
+
        <bean
                class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" />
 
-       <bean class="org.argeo.slc.core.execution.ExecutionParameterPostProcessor" />
-       <bean class="org.argeo.slc.core.execution.InstantiationPostProcessor" />
-       <bean class="org.argeo.slc.core.execution.Executor" />
-       <bean class="org.argeo.slc.core.execution.ExecutionAspect"/>
+       <bean id="executionContext" class="org.argeo.slc.core.execution.MapExecutionContext" scope="execution">
+               <aop:scoped-proxy />
+       </bean>
+
+       <bean id="instantiationManager" class="org.argeo.slc.core.execution.InstantiationManager" />
+       
+       <bean id="parameterRef" factory-bean="instantiationManager" factory-method="createRef"
+               abstract="true" />      
+
+       <bean class="org.argeo.slc.core.execution.ExecutionParameterPostProcessor" >
+               <property name="executionContext" ref="executionContext" />
+               <property name="executionScope" ref="executionScope"/>
+               <property name="instantiationManager" ref="instantiationManager" />
+       </bean>
+
+       <bean class="org.argeo.slc.core.execution.InstantiationPostProcessor">
+               <property name="instantiationManager" ref="instantiationManager" />
+       </bean>
+               
+       <bean class="org.argeo.slc.core.execution.ExecutionAspect">
+               <property name="executionContext" ref="executionContext" />
+       </bean>
 
        <aop:aspectj-autoproxy />