]> git.argeo.org Git - gpl/argeo-slc.git/blob - modules/agent/org.argeo.slc.agent.jms/META-INF/spring/jms.xml
Prepare SLC v1.1.2 release
[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 init-method="init" destroy-method="dispose">
13 <property name="agentRegister" ref="slcJms.destination.agent.register" />
14 <property name="agentUnregister" ref="slcJms.destination.agent.unregister" />
15 <property name="modulesManager" ref="modulesManager" />
16 <property name="responseDestination" ref="slcJms.destination.agent.response" />
17 <property name="jmsTemplate" ref="jmsTemplate" />
18 </bean>
19
20 <!-- Listeners -->
21 <bean id="jmsAgent.listener.request" parent="listenerTemplate">
22 <property name="destination" ref="slcJms.destination.agent.request" />
23 <property name="messageSelector">
24 <bean factory-bean="jmsAgent" factory-method="getMessageSelector" />
25 </property>
26 </bean>
27
28 <bean id="jmsAgent.listener.pingAll" parent="listenerTemplate">
29 <property name="destination" ref="slcJms.destination.agent.pingAll" />
30 <property name="messageListener" ref="jmsAgent" />
31 </bean>
32
33 <!-- Services -->
34 <bean id="resultListener" class="org.argeo.slc.jms.JmsTreeTestResultListener">
35 <property name="executionEventDestination" ref="slcJms.destination.execution.event" />
36 <property name="onlyOnClose" value="${slc.agent.jms.resultListener.onlyOnClose}" />
37 <property name="jmsTemplate" ref="jmsTemplate" />
38 </bean>
39 <bean id="attachmentUploader" class="org.argeo.slc.jms.JmsAttachmentUploader">
40 <property name="destination" ref="slcJms.destination.attachment.add" />
41 <property name="jmsTemplate" ref="jmsTemplate" />
42 </bean>
43 <bean id="slcExecutionListener" class="org.argeo.slc.jms.JmsSlcExecutionNotifier">
44 <property name="executionEventDestination" ref="slcJms.destination.execution.event" />
45 <property name="jmsTemplate" ref="jmsTemplate" />
46 </bean>
47
48 <!-- JMS -->
49 <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
50 <property name="messageConverter">
51 <bean class="org.argeo.slc.jms.MarshallerMessageConverter">
52 <property name="disableMarshalling" value="${slc.agent.jms.disableMarshalling}" />
53 <property name="marshaller" ref="slcDefault.castor.marshaller" />
54 <property name="unmarshaller" ref="slcDefault.castor.marshaller" />
55 </bean>
56 </property>
57 <property name="connectionFactory" ref="jmsConnectionFactory" />
58 </bean>
59
60 <bean id="jmsConnectionFactory"
61 class="org.springframework.jms.connection.CachingConnectionFactory">
62 <property name="targetConnectionFactory">
63 <bean class="org.apache.activemq.ActiveMQConnectionFactory">
64 <property name="brokerURL">
65 <value>${slc.server.jms.url}</value>
66 </property>
67 </bean>
68 </property>
69 </bean>
70
71 <bean id="jmsTransactionManager"
72 class="org.springframework.jms.connection.JmsTransactionManager">
73 <property name="connectionFactory" ref="jmsConnectionFactory" />
74 </bean>
75
76 <!-- Templates -->
77 <bean id="listenerTemplate"
78 class="org.springframework.jms.listener.DefaultMessageListenerContainer"
79 abstract="true">
80 <property name="connectionFactory" ref="jmsConnectionFactory" />
81 <property name="messageListener" ref="jmsAgent" />
82 <property name="transactionManager" ref="jmsTransactionManager" />
83 </bean>
84
85
86 </beans>