Factorize agent bundle
authorMathieu Baudier <mbaudier@argeo.org>
Mon, 27 Apr 2009 06:15:51 +0000 (06:15 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Mon, 27 Apr 2009 06:15:51 +0000 (06:15 +0000)
git-svn-id: https://svn.argeo.org/slc/trunk@2376 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

server/org.argeo.slc.siteserver/bundles/org.argeo.slc.agent/META-INF/MANIFEST.MF [new file with mode: 0644]
server/org.argeo.slc.siteserver/bundles/org.argeo.slc.agent/META-INF/spring/jms.xml [new file with mode: 0644]
server/org.argeo.slc.siteserver/bundles/org.argeo.slc.agent/META-INF/spring/osgi.xml [new file with mode: 0644]
server/org.argeo.slc.siteserver/bundles/org.argeo.slc.agent/META-INF/spring/transport.xml [new file with mode: 0644]

diff --git a/server/org.argeo.slc.siteserver/bundles/org.argeo.slc.agent/META-INF/MANIFEST.MF b/server/org.argeo.slc.siteserver/bundles/org.argeo.slc.agent/META-INF/MANIFEST.MF
new file mode 100644 (file)
index 0000000..b5f6657
--- /dev/null
@@ -0,0 +1,17 @@
+Bundle-SymbolicName: org.argeo.slc.demo.agent
+Bundle-Version: 0.11.3.qualifier
+Bundle-Name: Argeo SLC Demo Agent
+Import-Package: 
+ javax.jms,
+ org.apache.activemq,
+ org.apache.activemq.command,
+ org.springframework.jms.connection,
+ org.springframework.jms.core,
+ org.springframework.jms.listener,
+ org.springframework.jms.listener.adapter,
+ org.springframework.oxm.castor
+Require-Bundle: 
+ org.argeo.slc.support.activemq,
+ org.argeo.slc.specs,
+ org.argeo.slc.support.simple,
+ com.springsource.org.castor
diff --git a/server/org.argeo.slc.siteserver/bundles/org.argeo.slc.agent/META-INF/spring/jms.xml b/server/org.argeo.slc.siteserver/bundles/org.argeo.slc.agent/META-INF/spring/jms.xml
new file mode 100644 (file)
index 0000000..16060cc
--- /dev/null
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"
+       default-lazy-init="false">
+
+       <import resource="classpath:org/argeo/slc/activemq/spring.xml" />
+
+
+       <bean
+               class="org.springframework.jms.listener.DefaultMessageListenerContainer">
+               <property name="connectionFactory" ref="jmsConnectionFactory" />
+               <property name="destination" ref="slcJms.destination.agent.request" />
+               <property name="messageListener" ref="jmsAgent" />
+               <property name="messageSelector">
+                       <bean factory-bean="jmsAgent" factory-method="getMessageSelector" />
+               </property>
+       </bean>
+
+       <bean id="jmsAgent.listener.newExecution"
+               class="org.springframework.jms.listener.DefaultMessageListenerContainer">
+               <property name="connectionFactory" ref="jmsConnectionFactory" />
+               <property name="destination" ref="slcJms.destination.agent.newExecution" />
+               <property name="messageListener">
+                       <bean parent="slcTemplate.jms.listenerAdapterCastor">
+                               <constructor-arg ref="jmsAgent" />
+                               <property name="defaultListenerMethod" value="runSlcExecution" />
+                       </bean>
+               </property>
+               <property name="messageSelector">
+                       <bean factory-bean="jmsAgent" factory-method="getMessageSelector" />
+               </property>
+       </bean>
+
+       <bean id="jmsAgent" class="org.argeo.slc.jms.JmsAgent">
+               <property name="connectionFactory" ref="jmsConnectionFactory" />
+               <property name="agentRegister" ref="slcJms.destination.agent.register" />
+               <property name="agentUnregister" ref="slcJms.destination.agent.unregister" />
+               <property name="messageConverter" ref="slcDefault.jms.castorMessageConverter" />
+               <property name="modulesManager" ref="modulesManager" />
+               <property name="responseDestination" ref="slcJms.destination.agent.response" />
+       </bean>
+
+       <!-- TreeTestResult Listener -->
+       <bean id="resultListener" class="org.argeo.slc.jms.JmsTreeTestResultListener">
+               <property name="createDestination" ref="slcJms.destination.test.create" />
+               <property name="addResultPartDestination" ref="slcJms.destination.test.addResultPart" />
+               <property name="closeDestination" ref="slcJms.destination.test.close" />
+               <property name="jmsTemplate">
+                       <bean class="org.springframework.jms.core.JmsTemplate">
+                               <property name="messageConverter" ref="slcDefault.jms.castorMessageConverter" />
+                               <property name="connectionFactory" ref="jmsConnectionFactory" />
+                       </bean>
+               </property>
+       </bean>
+
+       <!-- SLC Execution Listener -->
+       <bean id="slcExecutionListener" class="org.argeo.slc.jms.JmsSlcExecutionNotifier">
+               <property name="updateStatusDestination" ref="slcJms.destination.slcExecution.updateStatus" />
+               <property name="jmsTemplate">
+                       <bean class="org.springframework.jms.core.JmsTemplate">
+                               <property name="messageConverter" ref="slcDefault.jms.castorMessageConverter" />
+                               <property name="connectionFactory" ref="jmsConnectionFactory" />
+                       </bean>
+               </property>
+       </bean>
+</beans>
\ No newline at end of file
diff --git a/server/org.argeo.slc.siteserver/bundles/org.argeo.slc.agent/META-INF/spring/osgi.xml b/server/org.argeo.slc.siteserver/bundles/org.argeo.slc.agent/META-INF/spring/osgi.xml
new file mode 100644 (file)
index 0000000..92ac64e
--- /dev/null
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<beans:beans xmlns="http://www.springframework.org/schema/osgi"\r
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:beans="http://www.springframework.org/schema/beans"\r
+       xsi:schemaLocation="http://www.springframework.org/schema/osgi  \r
+       http://www.springframework.org/schema/osgi/spring-osgi-1.1.xsd\r
+       http://www.springframework.org/schema/beans   \r
+       http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">\r
+\r
+       <service ref="resultListener" interface="org.argeo.slc.test.TestResultListener" />\r
+       <service ref="slcExecutionListener" interface="org.argeo.slc.process.SlcExecutionNotifier" />\r
+\r
+       <reference id="modulesManager"\r
+               interface="org.argeo.slc.execution.ExecutionModulesManager" />\r
+\r
+</beans:beans>
\ No newline at end of file
diff --git a/server/org.argeo.slc.siteserver/bundles/org.argeo.slc.agent/META-INF/spring/transport.xml b/server/org.argeo.slc.siteserver/bundles/org.argeo.slc.agent/META-INF/spring/transport.xml
new file mode 100644 (file)
index 0000000..708a619
--- /dev/null
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"
+       default-lazy-init="false">
+
+       <bean id="jmsConnectionFactory"
+               class="org.springframework.jms.connection.SingleConnectionFactory">
+               <property name="targetConnectionFactory">
+                       <bean id="slcDefault.jms.amqConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
+                               <property name="brokerURL">
+                                       <value>tcp://localhost:61616</value>
+                               </property>
+                       </bean>
+               </property>
+       </bean>
+
+</beans>
\ No newline at end of file