]> git.argeo.org Git - gpl/argeo-slc.git/blob - modules/agent/org.argeo.slc.agent.jms/META-INF/spring/jms.xml
Flows automatically registered in JCR
[gpl/argeo-slc.git] / modules / agent / org.argeo.slc.agent.jms / META-INF / spring / jms.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <beans xmlns="http://www.springframework.org/schema/beans"
3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"
5 default-lazy-init="false">
6
7 <import resource="classpath:org/argeo/slc/castor/spring.xml" />
8 <import resource="classpath:org/argeo/slc/activemq/destinations.xml" />
9
10 <!-- Agent implementation -->
11 <bean id="jmsAgent" class="org.argeo.slc.jms.JmsAgent">
12 <property name="agentRegister" ref="slcJms.destination.agent.register" />
13 <property name="agentUnregister" ref="slcJms.destination.agent.unregister" />
14 <property name="modulesManager" ref="modulesManager" />
15 <property name="responseDestination" ref="slcJms.destination.agent.response" />
16 <property name="jmsTemplate" ref="jmsTemplate" />
17 </bean>
18
19 <!-- Listeners -->
20 <bean id="jmsAgent.listener.request" parent="listenerTemplate">
21 <property name="destination" ref="slcJms.destination.agent.request" />
22 <property name="messageSelector">
23 <bean factory-bean="jmsAgent" factory-method="getMessageSelector" />
24 </property>
25 </bean>
26
27 <bean id="jmsAgent.listener.pingAll" parent="listenerTemplate">
28 <property name="destination" ref="slcJms.destination.agent.pingAll" />
29 <property name="messageListener" ref="jmsAgent" />
30 </bean>
31
32 <!-- Services -->
33 <bean id="resultListener" class="org.argeo.slc.jms.JmsTreeTestResultListener">
34 <property name="executionEventDestination" ref="slcJms.destination.execution.event" />
35 <property name="onlyOnClose" value="${slc.agent.jms.resultListener.onlyOnClose}"/>
36 <property name="jmsTemplate" ref="jmsTemplate" />
37 </bean>
38 <bean id="attachmentUploader" class="org.argeo.slc.jms.JmsAttachmentUploader">
39 <property name="destination" ref="slcJms.destination.attachment.add" />
40 <property name="jmsTemplate" ref="jmsTemplate" />
41 </bean>
42 <bean id="slcExecutionListener" class="org.argeo.slc.jms.JmsSlcExecutionNotifier">
43 <property name="executionEventDestination" ref="slcJms.destination.execution.event" />
44 <property name="jmsTemplate" ref="jmsTemplate" />
45 </bean>
46
47 <!-- JMS -->
48 <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
49 <property name="messageConverter">
50 <bean class="org.argeo.slc.jms.MarshallerMessageConverter">
51 <property name="disableMarshalling" value="${slc.agent.jms.disableMarshalling}" />
52 <property name="marshaller" ref="slcDefault.castor.marshaller" />
53 <property name="unmarshaller" ref="slcDefault.castor.marshaller" />
54 </bean>
55 </property>
56 <property name="connectionFactory" ref="jmsConnectionFactory" />
57 </bean>
58
59 <bean id="jmsConnectionFactory"
60 class="org.springframework.jms.connection.CachingConnectionFactory">
61 <property name="targetConnectionFactory">
62 <bean class="org.apache.activemq.ActiveMQConnectionFactory">
63 <property name="brokerURL">
64 <value>${slc.server.jms.url}</value>
65 </property>
66 </bean>
67 </property>
68 </bean>
69
70 <bean id="jmsTransactionManager"
71 class="org.springframework.jms.connection.JmsTransactionManager">
72 <property name="connectionFactory" ref="jmsConnectionFactory" />
73 </bean>
74
75 <!-- Templates -->
76 <bean id="listenerTemplate"
77 class="org.springframework.jms.listener.DefaultMessageListenerContainer"
78 abstract="true">
79 <property name="connectionFactory" ref="jmsConnectionFactory" />
80 <property name="messageListener" ref="jmsAgent" />
81 <property name="transactionManager" ref="jmsTransactionManager" />
82 </bean>
83
84
85 </beans>