]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - server/org.argeo.slc.siteserver/bundles/org.argeo.slc.server.jms/META-INF/spring/jms.xml
Attachments management
[gpl/argeo-slc.git] / server / org.argeo.slc.siteserver / bundles / org.argeo.slc.server.jms / META-INF / spring / jms.xml
index b2000f6254659ed32670f16c9b8a64bdda5aa640..8c3054dff2356db0b362e967a7b204cac97de4f8 100644 (file)
@@ -6,16 +6,38 @@
 
        <import resource="classpath:org/argeo/slc/activemq/spring.xml" />
 
-       <bean id="agentFactory" class="org.argeo.slc.jms.JmsAgentProxyFactory">
-               <property name="jmsTemplate">
-                       <bean class="org.springframework.jms.core.JmsTemplate">
-                               <property name="connectionFactory" ref="jmsConnectionFactory" />
-                               <property name="receiveTimeout" value="20000" />
+       <!-- Attachments -->
+
+       <bean id="attachmentStorage.jmsContainer.add" parent="listenerContainer">
+               <property name="destination" ref="slcJms.destination.attachment.add" />
+               <property name="messageListener">
+                       <bean class="org.argeo.slc.jms.JmsAttachmentListener">
+                               <property name="attachmentsStorage" ref="attachmentsStorage" />
+                       </bean>
+               </property>
+       </bean>
+
+       <!-- Events -->
+       <bean id="jmsEventListener" class="org.argeo.slc.jms.JmsSlcEventListener"
+               init-method="init" destroy-method="close">
+               <property name="jmsConnectionFactory">
+                       <!--
+                               Need its own connection factory in order to set client ids (not
+                               possible on pool)
+                       -->
+                       <bean class="org.apache.activemq.ActiveMQConnectionFactory">
+                               <property name="brokerURL">
+                                       <value>vm://localhost</value>
+                               </property>
                        </bean>
                </property>
+               <property name="eventsDestination" ref="slcJms.destination.events" />
                <property name="messageConverter" ref="slcDefault.jms.castorMessageConverter" />
-               <property name="requestDestination" ref="slcJms.destination.agent.request" />
-               <property name="responseDestination" ref="slcJms.destination.agent.response" />
+       </bean>
+
+       <bean id="jmsEventPublisher" class="org.argeo.slc.jms.JmsSlcEventPublisher">
+               <property name="jmsTemplate" ref="jmsTemplate" />
+               <property name="eventsDestination" ref="slcJms.destination.events" />
        </bean>
 
        <!-- Agent Service -->
                </property>
        </bean>
 
-       <bean id="agentService.jmsContainer.newExecution" parent="listenerContainer">
-               <property name="destination" ref="slcJms.destination.agent.newExecution" />
-               <property name="messageListener">
-                       <bean class="org.argeo.slc.jms.JmsTransferNewExecution">
-                               <property name="requestDestination" ref="slcJms.destination.agent.request" />
-                       </bean>
-               </property>
-       </bean>
-
-       <!-- Test Manager Service -->
        <bean parent="listenerContainer">
-               <property name="destination" ref="slcJms.destination.test.create" />
+               <property name="destination" ref="slcJms.destination.execution.event" />
                <property name="messageListener">
-                       <bean parent="listenerAdapterCastor">
-                               <constructor-arg ref="testManagerService" />
-                               <property name="defaultListenerMethod" value="createTreeTestResult" />
+                       <bean class="org.argeo.slc.jms.JmsExecutionHandler">
+                               <property name="messageConverter" ref="slcDefault.jms.castorMessageConverter" />
+                               <property name="serviceMsgHandler">
+                                       <bean class="org.argeo.slc.services.ServiceMsgHandler">
+                                               <property name="slcExecutionService" ref="slcExecutionService" />
+                                               <property name="testManagerService" ref="testManagerService" />
+                                       </bean>
+                               </property>
                        </bean>
                </property>
        </bean>
 
-       <bean parent="listenerContainer">
-               <property name="destination" ref="slcJms.destination.test.addResultPart" />
-               <property name="messageListener">
-                       <bean parent="listenerAdapterCastor">
-                               <constructor-arg ref="testManagerService" />
-                               <property name="defaultListenerMethod" value="addResultPart" />
-                       </bean>
-               </property>
-       </bean>
 
-       <bean parent="listenerContainer">
-               <property name="destination" ref="slcJms.destination.test.close" />
-               <property name="messageListener">
-                       <bean parent="listenerAdapterCastor">
-                               <constructor-arg ref="testManagerService" />
-                               <property name="defaultListenerMethod" value="closeTreeTestResult" />
-                       </bean>
-               </property>
-       </bean>
-
-       <!-- SLC Execution Service -->
-       <bean parent="listenerContainer">
-               <property name="destination" ref="slcJms.destination.agent.newExecution" />
-               <property name="messageListener">
-                       <bean parent="listenerAdapterCastor">
-                               <constructor-arg ref="slcExecutionService" />
-                               <property name="defaultListenerMethod" value="newExecution" />
-                       </bean>
-               </property>
-       </bean>
+       <!--
+               Test Manager Service <bean parent="listenerContainer"> <property
+               name="destination" ref="slcJms.destination.test.create" /> <property
+               name="messageListener"> <bean parent="listenerAdapterCastor">
+               <constructor-arg ref="testManagerService" /> <property
+               name="defaultListenerMethod" value="createTreeTestResult" /> </bean>
+               </property> </bean> <bean parent="listenerContainer"> <property
+               name="destination" ref="slcJms.destination.test.addResultPart" />
+               <property name="messageListener"> <bean
+               parent="listenerAdapterCastor"> <constructor-arg
+               ref="testManagerService" /> <property name="defaultListenerMethod"
+               value="addResultPart" /> </bean> </property> </bean> <bean
+               parent="listenerContainer"> <property name="destination"
+               ref="slcJms.destination.test.close" /> <property
+               name="messageListener"> <bean parent="listenerAdapterCastor">
+               <constructor-arg ref="testManagerService" /> <property
+               name="defaultListenerMethod" value="closeTreeTestResult" /> </bean>
+               </property> </bean>
+       -->
+       <!--
+               SLC Execution Service <bean parent="listenerContainer"> <property
+               name="destination" ref="slcJms.destination.agent.newExecution" />
+               <property name="messageListener"> <bean
+               parent="listenerAdapterCastor"> <constructor-arg
+               ref="slcExecutionService" /> <property name="defaultListenerMethod"
+               value="newExecution" /> </bean> </property> </bean> <bean
+               parent="listenerContainer"> <property name="destination"
+               ref="slcJms.destination.slcExecution.updateStatus" /> <property
+               name="messageListener"> <bean parent="listenerAdapterCastor">
+               <constructor-arg ref="slcExecutionService" /> <property
+               name="defaultListenerMethod" value="updateStatus" /> </bean>
+               </property> </bean>
+       -->
 
-       <bean parent="listenerContainer">
-               <property name="destination" ref="slcJms.destination.slcExecution.updateStatus" />
-               <property name="messageListener">
-                       <bean parent="listenerAdapterCastor">
-                               <constructor-arg ref="slcExecutionService" />
-                               <property name="defaultListenerMethod" value="updateStatus" />
-                       </bean>
-               </property>
+       <!-- Common -->
+       <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
+               <property name="messageConverter" ref="slcDefault.jms.castorMessageConverter" />
+               <property name="connectionFactory" ref="jmsConnectionFactory" />
        </bean>
 
-
        <!-- Templates -->
        <bean id="listenerContainer"
                class="org.springframework.jms.listener.DefaultMessageListenerContainer"
                abstract="true">
                <property name="connectionFactory" ref="jmsConnectionFactory" />
+               <!--
+                       <property name="transactionManager" ref="jmsTransactionManager" />
+               -->
        </bean>
 
        <bean id="listenerAdapterCastor"