Change bundle structure
authorMathieu Baudier <mbaudier@argeo.org>
Mon, 27 Apr 2009 08:20:10 +0000 (08:20 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Mon, 27 Apr 2009 08:20:10 +0000 (08:20 +0000)
git-svn-id: https://svn.argeo.org/slc/trunk@2378 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

29 files changed:
demo/pom.xml
demo/site/org.argeo.slc.demo.agent/META-INF/MANIFEST.MF
demo/site/org.argeo.slc.demo.agent/META-INF/spring/jms.xml [deleted file]
demo/site/org.argeo.slc.demo.agent/META-INF/spring/osgi.xml [deleted file]
demo/site/org.argeo.slc.demo.agent/META-INF/spring/transport.xml [deleted file]
demo/site/org.argeo.slc.demo.manager/.project [deleted file]
demo/site/org.argeo.slc.demo.manager/.settings/org.eclipse.pde.core.prefs [deleted file]
demo/site/org.argeo.slc.demo.manager/META-INF/MANIFEST.MF [deleted file]
demo/site/org.argeo.slc.demo.manager/build.properties [deleted file]
demo/site/org.argeo.slc.demo.manager/conf/manager-osgi.xml [deleted file]
demo/site/org.argeo.slc.demo.manager/conf/manager.xml [deleted file]
org.argeo.slc/pom.xml
runtime/org.argeo.slc.support.activemq/pom.xml
runtime/org.argeo.slc.support.activemq/src/main/java/org/argeo/slc/jms/JmsAgent.java
server/org.argeo.slc.siteserver/bundles/org.argeo.slc.agent/META-INF/MANIFEST.MF
server/org.argeo.slc.siteserver/bundles/org.argeo.slc.agent/META-INF/spring/common.xml [new file with mode: 0644]
server/org.argeo.slc.siteserver/bundles/org.argeo.slc.agent/META-INF/spring/jms.xml
server/org.argeo.slc.siteserver/bundles/org.argeo.slc.agent/META-INF/spring/manager.xml [new file with mode: 0644]
server/org.argeo.slc.siteserver/bundles/org.argeo.slc.agent/META-INF/spring/osgi.xml
server/org.argeo.slc.siteserver/bundles/org.argeo.slc.agent/META-INF/spring/transport.xml
server/org.argeo.slc.siteserver/bundles/org.argeo.slc.agent/agent.properties [new file with mode: 0644]
server/org.argeo.slc.siteserver/bundles/org.argeo.slc.server.activemq/META-INF/MANIFEST.MF
server/org.argeo.slc.siteserver/bundles/org.argeo.slc.server.activemq/META-INF/spring/activemq.xml
server/org.argeo.slc.siteserver/bundles/org.argeo.slc.server.activemq/activemq.properties [new file with mode: 0644]
server/org.argeo.slc.siteserver/bundles/org.argeo.slc.server.hsqldb/META-INF/MANIFEST.MF
server/org.argeo.slc.siteserver/bundles/org.argeo.slc.server.hsqldb/META-INF/spring/hsqldb.xml
server/org.argeo.slc.siteserver/bundles/org.argeo.slc.server.hsqldb/hsqldb.properties [new file with mode: 0644]
server/org.argeo.slc.siteserver/bundles/org.argeo.slc.server.jms/META-INF/spring/jms.xml
server/org.argeo.slc.siteserver/bundles/org.argeo.slc.webapp.war/WEB-INF/osgi.xml

index 1ba3ac654741460f49c252da25680f081732bd76..e4f569132e78ba7214314cde18b60f0e5d369e3d 100644 (file)
                                                                        org.argeo.slc.server.services,
                                                                        org.argeo.slc.server.jms,
                                                                        org.argeo.slc.webapp,
-                                                                       org.argeo.slc.ria,
-                                                                       org.argeo.slc.support.equinox,
-                                                                       org.argeo.slc.demo.basic,
-                                                                       org.argeo.slc.demo.manager
+                                                                       org.argeo.slc.ria
                                                                </slc.osgi.start>
                                                        </systemProperties>
                                                </configuration>
                                                                <slc.osgi.start>
                                                                        org.springframework.osgi.extender,
                                                                        org.argeo.slc.support.equinox,
+                                                                       org.argeo.slc.agent,
                                                                        org.argeo.slc.demo.basic,
-                                                                       org.argeo.slc.demo.agent,
                                                                        org.argeo.slc.demo.manager
                                                                </slc.osgi.start>
                                                        </systemProperties>
index b5f6657f4e148ecbfc7a3f1af3953291b63f75a0..6b47a465b2a328c2b6153336397264b48ab77daf 100644 (file)
@@ -1,17 +1,4 @@
 Bundle-SymbolicName: org.argeo.slc.demo.agent
 Bundle-Version: 0.11.3.qualifier
+Fragment-Host: org.argeo.slc.agent
 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/demo/site/org.argeo.slc.demo.agent/META-INF/spring/jms.xml b/demo/site/org.argeo.slc.demo.agent/META-INF/spring/jms.xml
deleted file mode 100644 (file)
index 16060cc..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-<?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/demo/site/org.argeo.slc.demo.agent/META-INF/spring/osgi.xml b/demo/site/org.argeo.slc.demo.agent/META-INF/spring/osgi.xml
deleted file mode 100644 (file)
index 92ac64e..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<?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/demo/site/org.argeo.slc.demo.agent/META-INF/spring/transport.xml b/demo/site/org.argeo.slc.demo.agent/META-INF/spring/transport.xml
deleted file mode 100644 (file)
index 708a619..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<?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
diff --git a/demo/site/org.argeo.slc.demo.manager/.project b/demo/site/org.argeo.slc.demo.manager/.project
deleted file mode 100644 (file)
index 86280b2..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-       <name>org.argeo.slc.demo.manager</name>
-       <comment></comment>
-       <projects>
-       </projects>
-       <buildSpec>
-               <buildCommand>
-                       <name>org.eclipse.pde.ManifestBuilder</name>
-                       <arguments>
-                       </arguments>
-               </buildCommand>
-               <buildCommand>
-                       <name>org.eclipse.pde.SchemaBuilder</name>
-                       <arguments>
-                       </arguments>
-               </buildCommand>
-       </buildSpec>
-       <natures>
-               <nature>org.eclipse.pde.PluginNature</nature>
-       </natures>
-</projectDescription>
diff --git a/demo/site/org.argeo.slc.demo.manager/.settings/org.eclipse.pde.core.prefs b/demo/site/org.argeo.slc.demo.manager/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644 (file)
index cfc761f..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-#Fri Mar 13 15:28:46 CET 2009
-eclipse.preferences.version=1
-pluginProject.equinox=false
-pluginProject.extensions=false
-resolve.requirebundle=false
diff --git a/demo/site/org.argeo.slc.demo.manager/META-INF/MANIFEST.MF b/demo/site/org.argeo.slc.demo.manager/META-INF/MANIFEST.MF
deleted file mode 100644 (file)
index 51febcd..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-Bundle-Name: Manager Plug-in
-Bundle-SymbolicName: org.argeo.slc.demo.manager
-Bundle-Version: 0.11.3.qualifier
-Spring-Context: conf/*
-Require-Bundle: 
- org.argeo.slc.specs,
- org.argeo.slc.support.simple
diff --git a/demo/site/org.argeo.slc.demo.manager/build.properties b/demo/site/org.argeo.slc.demo.manager/build.properties
deleted file mode 100644 (file)
index 5f22cdd..0000000
+++ /dev/null
@@ -1 +0,0 @@
-bin.includes = META-INF/
diff --git a/demo/site/org.argeo.slc.demo.manager/conf/manager-osgi.xml b/demo/site/org.argeo.slc.demo.manager/conf/manager-osgi.xml
deleted file mode 100644 (file)
index 34bc15d..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-<?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
-       <list id="executionModules" interface="org.argeo.slc.execution.ExecutionModule"\r
-               cardinality="0..N" />\r
-\r
-       <service ref="modulesManager" interface="org.argeo.slc.execution.ExecutionModulesManager" />\r
-\r
-       <service interface="org.argeo.slc.test.TestResultListener">\r
-               <beans:bean class="org.argeo.slc.core.test.tree.TreeTestResultLogger" />\r
-       </service>\r
-\r
-       <list id="slcExecutionListeners" interface="org.argeo.slc.process.SlcExecutionNotifier" cardinality="0..N"/>\r
-</beans:beans>
\ No newline at end of file
diff --git a/demo/site/org.argeo.slc.demo.manager/conf/manager.xml b/demo/site/org.argeo.slc.demo.manager/conf/manager.xml
deleted file mode 100644 (file)
index da2842a..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<beans xmlns="http://www.springframework.org/schema/beans"\r
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"\r
-       xsi:schemaLocation="\r
-       http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">\r
-\r
-       <bean id="modulesManager" class="org.argeo.slc.core.execution.DefaultModulesManager">\r
-               <property name="executionModules" ref="executionModules" />\r
-               <property name="slcExecutionNotifiers" ref="slcExecutionListeners" />\r
-       </bean>\r
-</beans>
\ No newline at end of file
index 2f974db1064e4e68b1e05013c157cbb94a794203..7dbcd53cd4eed76685d1ad64619b97a9d6664a59 100644 (file)
@@ -159,27 +159,6 @@ limitations under the License.
                                                        <artifactId>com.springsource.javax.mail</artifactId>
                                                        <version>1.4.1</version>
                                                </dependency>
-                                               <!--
-                                                       Required by ActiveMQ admin <dependency>
-                                                       <groupId>org.springframework</groupId>
-                                                       <artifactId>org.springframework.web</artifactId>
-                                                       <version>${version.spring}</version> </dependency> <dependency>
-                                                       <groupId>org.springframework</groupId>
-                                                       <artifactId>org.springframework.web.servlet</artifactId>
-                                                       <version>${version.spring}</version> </dependency> <dependency>
-                                                       <groupId>org.apache.activemq</groupId>
-                                                       <artifactId>com.springsource.org.apache.activemq.web</artifactId>
-                                                       <version>${version.activemq}</version> </dependency> <dependency>
-                                                       <groupId>javax.jms</groupId>
-                                                       <artifactId>com.springsource.javax.jms</artifactId>
-                                                       <version>1.1.0</version> </dependency> <dependency>
-                                                       <groupId>org.apache.geronimo.specs</groupId>
-                                                       <artifactId>com.springsource.javax.management.j2ee</artifactId>
-                                                       <version>1.0.1</version> </dependency> <dependency>
-                                                       <groupId>com.opensymphony.sitemesh</groupId>
-                                                       <artifactId>com.springsource.com.opensymphony.sitemesh</artifactId>
-                                                       <version>2.3.0</version> </dependency>
-                                               -->
                                        </dependencies>
                                </plugin>
                                <plugin>
@@ -579,7 +558,11 @@ limitations under the License.
                                <artifactId>org.argeo.dep.osgi.commons.cli</artifactId>
                                <version>1.1</version>
                        </dependency>
-
+                       <dependency>
+                               <groupId>org.apache.commons</groupId>
+                               <artifactId>com.springsource.org.apache.commons.pool</artifactId>
+                               <version>1.4.0</version>
+                       </dependency>
                        <!-- DB Drivers -->
                        <dependency>
                                <groupId>org.hsqldb</groupId>
@@ -767,6 +750,11 @@ limitations under the License.
                                <artifactId>org.argeo.dep.osgi.activemq</artifactId>
                                <version>${version.activemq}</version>
                        </dependency>
+                       <dependency>
+                               <groupId>org.apache.activemq</groupId>
+                               <artifactId>com.springsource.org.apache.activemq.pool</artifactId>
+                               <version>5.2.0</version>
+                       </dependency>
                        <dependency>
                                <groupId>org.argeo.dep.osgi</groupId>
                                <artifactId>org.argeo.dep.osgi.activemq.web</artifactId>
index 54f896eb6ce2928053698d0075df21ac82271b5d..006fd0ebfc5de0c5d30cfa207772750d31653c0c 100644 (file)
                        <groupId>org.argeo.dep.osgi</groupId>
                        <artifactId>org.argeo.dep.osgi.activemq</artifactId>
                </dependency>
+               <dependency>
+                       <groupId>org.apache.activemq</groupId>
+                       <artifactId>com.springsource.org.apache.activemq.pool</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.apache.commons</groupId>
+                       <artifactId>com.springsource.org.apache.commons.pool</artifactId>
+               </dependency>
                <dependency>
                        <groupId>org.apache.geronimo.specs</groupId>
                        <artifactId>com.springsource.javax.management.j2ee</artifactId>
                        <groupId>javax.xml.soap</groupId>
                        <artifactId>com.springsource.javax.xml.soap</artifactId>
                </dependency>
-               
+
                <!--
-               <dependency>
-                       <groupId>javax.xml.stream</groupId>
+                       <dependency> <groupId>javax.xml.stream</groupId>
                        <artifactId>com.springsource.javax.xml.stream</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.xalan</groupId>
+                       </dependency> <dependency> <groupId>org.apache.xalan</groupId>
                        <artifactId>com.springsource.org.apache.xalan</artifactId>
-               </dependency>
-  -->
+                       </dependency>
+               -->
        </dependencies>
 </project>
\ No newline at end of file
index 78e93481b751d73c18a19e5c1c5b1431d931b1eb..4b031f9472801fdbb92fe244a52ff66a400de33a 100644 (file)
@@ -6,7 +6,6 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.UUID;
 
-import javax.jms.ConnectionFactory;
 import javax.jms.Destination;
 import javax.jms.JMSException;
 import javax.jms.Message;
@@ -20,14 +19,14 @@ import org.argeo.slc.SlcException;
 import org.argeo.slc.core.runtime.AbstractAgent;
 import org.argeo.slc.execution.ExecutionModule;
 import org.argeo.slc.execution.ExecutionModuleDescriptor;
-import org.argeo.slc.msg.ObjectList;
+import org.argeo.slc.process.SlcExecution;
 import org.argeo.slc.runtime.SlcAgent;
 import org.argeo.slc.runtime.SlcAgentDescriptor;
 import org.springframework.beans.factory.DisposableBean;
 import org.springframework.beans.factory.InitializingBean;
 import org.springframework.jms.core.JmsTemplate;
 import org.springframework.jms.listener.SessionAwareMessageListener;
-import org.springframework.jms.support.converter.MessageConverter;
+import org.springframework.jms.support.converter.MessageConversionException;
 
 /** JMS based implementation of SLC Agent. */
 public class JmsAgent extends AbstractAgent implements SlcAgent,
@@ -35,7 +34,7 @@ public class JmsAgent extends AbstractAgent implements SlcAgent,
        private final static Log log = LogFactory.getLog(JmsAgent.class);
 
        private final SlcAgentDescriptor agentDescriptor;
-       private ConnectionFactory connectionFactory;
+       // private ConnectionFactory connectionFactory;
        private JmsTemplate jmsTemplate;
        private Destination agentRegister;
        private Destination agentUnregister;
@@ -43,7 +42,7 @@ public class JmsAgent extends AbstractAgent implements SlcAgent,
        // private Destination requestDestination;
        private Destination responseDestination;
 
-       private MessageConverter messageConverter;
+       // private MessageConverter messageConverter;
 
        public JmsAgent() {
                try {
@@ -57,8 +56,8 @@ public class JmsAgent extends AbstractAgent implements SlcAgent,
 
        public void afterPropertiesSet() throws Exception {
                // Initialize JMS Template
-               jmsTemplate = new JmsTemplate(connectionFactory);
-               jmsTemplate.setMessageConverter(messageConverter);
+               // jmsTemplate = new JmsTemplate(connectionFactory);
+               // jmsTemplate.setMessageConverter(messageConverter);
 
                jmsTemplate.convertAndSend(agentRegister, agentDescriptor);
                log.info("Agent #" + agentDescriptor.getUuid() + " registered to "
@@ -114,17 +113,27 @@ public class JmsAgent extends AbstractAgent implements SlcAgent,
                        String version = message.getStringProperty("version");
                        ExecutionModuleDescriptor emd = getExecutionModuleDescriptor(
                                        moduleName, version);
-                       responseMsg = messageConverter.toMessage(emd, session);
+                       responseMsg = jmsTemplate.getMessageConverter().toMessage(emd,
+                                       session);
                } else if ("listExecutionModuleDescriptors".equals(query)) {
 
                        List<ExecutionModuleDescriptor> lst = listExecutionModuleDescriptors();
                        SlcAgentDescriptor agentDescriptorToSend = new SlcAgentDescriptor(
                                        agentDescriptor);
                        agentDescriptorToSend.setModuleDescriptors(lst);
-                       responseMsg = messageConverter.toMessage(agentDescriptorToSend,
-                                       session);
+                       responseMsg = jmsTemplate.getMessageConverter().toMessage(
+                                       agentDescriptorToSend, session);
                } else {
-                       throw new SlcException("Unsupported query " + query);
+                       try {
+                               //FIXME: generalize
+                               SlcExecution slcExecution = (SlcExecution) jmsTemplate
+                                               .getMessageConverter().fromMessage(message);
+                               runSlcExecution(slcExecution);
+                       } catch (MessageConversionException e) {
+                               if (log.isDebugEnabled())
+                                       log.debug("Unsupported query " + query, e);
+                       }
+                       return;
                }
 
                if (responseMsg != null) {
@@ -138,14 +147,6 @@ public class JmsAgent extends AbstractAgent implements SlcAgent,
 
        }
 
-       public void setMessageConverter(MessageConverter messageConverter) {
-               this.messageConverter = messageConverter;
-       }
-
-       public void setConnectionFactory(ConnectionFactory connectionFactory) {
-               this.connectionFactory = connectionFactory;
-       }
-
        public ExecutionModuleDescriptor getExecutionModuleDescriptor(
                        String moduleName, String version) {
                return getModulesManager().getExecutionModuleDescriptor(moduleName,
@@ -170,4 +171,8 @@ public class JmsAgent extends AbstractAgent implements SlcAgent,
                this.responseDestination = responseDestination;
        }
 
+       public void setJmsTemplate(JmsTemplate jmsTemplate) {
+               this.jmsTemplate = jmsTemplate;
+       }
+
 }
index b5f6657f4e148ecbfc7a3f1af3953291b63f75a0..ec56b18780b739069f5ef39acc40b13d30561fe5 100644 (file)
@@ -1,10 +1,13 @@
-Bundle-SymbolicName: org.argeo.slc.demo.agent
+Bundle-SymbolicName: org.argeo.slc.agent
 Bundle-Version: 0.11.3.qualifier
-Bundle-Name: Argeo SLC Demo Agent
+Bundle-Name: Argeo SLC Agent
 Import-Package: 
  javax.jms,
  org.apache.activemq,
  org.apache.activemq.command,
+ org.apache.activemq.pool,
+ org.apache.commons.pool,
+ org.springframework.beans.factory.config,
  org.springframework.jms.connection,
  org.springframework.jms.core,
  org.springframework.jms.listener,
diff --git a/server/org.argeo.slc.siteserver/bundles/org.argeo.slc.agent/META-INF/spring/common.xml b/server/org.argeo.slc.siteserver/bundles/org.argeo.slc.agent/META-INF/spring/common.xml
new file mode 100644 (file)
index 0000000..6e170a1
--- /dev/null
@@ -0,0 +1,16 @@
+<?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
+               class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
+               <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
+               <property name="ignoreUnresolvablePlaceholders" value="true" />
+               <property name="locations">
+                       <value>osgibundle:agent.properties
+                       </value>
+               </property>
+       </bean>
+</beans>
\ No newline at end of file
index 16060cc6995e04b331c49cdb9c1a878664820312..a60b28d543e9b9c359ea8bad81938988d9ae1975 100644 (file)
                class="org.springframework.jms.listener.DefaultMessageListenerContainer">
                <property name="connectionFactory" ref="jmsConnectionFactory" />
                <property name="destination" ref="slcJms.destination.agent.newExecution" />
-               <property name="messageListener">
+               <property name="messageListener" ref="jmsAgent" />
+               <!-- <property name="messageListener">
                        <bean parent="slcTemplate.jms.listenerAdapterCastor">
                                <constructor-arg ref="jmsAgent" />
                                <property name="defaultListenerMethod" value="runSlcExecution" />
                        </bean>
-               </property>
+               </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" />
+               <property name="jmsTemplate" ref="jmsTemplate" />
        </bean>
 
        <!-- TreeTestResult Listener -->
                <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>
+               <property name="jmsTemplate" ref="jmsTemplate" />
        </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>
+               <property name="jmsTemplate" ref="jmsTemplate" />
        </bean>
+
+       <!-- Common -->
+       <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
+               <property name="messageConverter" ref="slcDefault.jms.castorMessageConverter" />
+               <property name="connectionFactory" ref="jmsConnectionFactory" />
+       </bean>
+
+
 </beans>
\ No newline at end of file
diff --git a/server/org.argeo.slc.siteserver/bundles/org.argeo.slc.agent/META-INF/spring/manager.xml b/server/org.argeo.slc.siteserver/bundles/org.argeo.slc.agent/META-INF/spring/manager.xml
new file mode 100644 (file)
index 0000000..da2842a
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<beans xmlns="http://www.springframework.org/schema/beans"\r
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"\r
+       xsi:schemaLocation="\r
+       http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">\r
+\r
+       <bean id="modulesManager" class="org.argeo.slc.core.execution.DefaultModulesManager">\r
+               <property name="executionModules" ref="executionModules" />\r
+               <property name="slcExecutionNotifiers" ref="slcExecutionListeners" />\r
+       </bean>\r
+</beans>
\ No newline at end of file
index 92ac64e32f5551719d444e5908eb2129b5443ec3..5f6423aba51a45f46eb180af06b8b92cb4aa8de9 100644 (file)
@@ -9,7 +9,17 @@
        <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
+       <!-- Manager -->\r
+       <list id="executionModules" interface="org.argeo.slc.execution.ExecutionModule"\r
+               cardinality="0..N" />\r
+\r
+       <service ref="modulesManager" interface="org.argeo.slc.execution.ExecutionModulesManager" />\r
+\r
+       <service interface="org.argeo.slc.test.TestResultListener">\r
+               <beans:bean class="org.argeo.slc.core.test.tree.TreeTestResultLogger" />\r
+       </service>\r
+\r
+       <list id="slcExecutionListeners" interface="org.argeo.slc.process.SlcExecutionNotifier"\r
+               cardinality="0..N" />\r
 \r
 </beans:beans>
\ No newline at end of file
index 708a6198caf3656574aefc40c033a312df1888d9..f6adfcf85d0916b9a2f35a37905e95e53404421e 100644 (file)
@@ -4,12 +4,24 @@
        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>
+                                       <value>${slc.server.jmsurl}</value>
+                               </property>
+                       </bean>
+               </property>
+       </bean>
+ -->
+       <bean id="jmsConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory"
+               destroy-method="stop">
+               <property name="connectionFactory">
+                       <bean class="org.apache.activemq.ActiveMQConnectionFactory">
+                               <property name="brokerURL">
+                                       <value>${slc.server.jms.url}</value>
                                </property>
                        </bean>
                </property>
diff --git a/server/org.argeo.slc.siteserver/bundles/org.argeo.slc.agent/agent.properties b/server/org.argeo.slc.siteserver/bundles/org.argeo.slc.agent/agent.properties
new file mode 100644 (file)
index 0000000..d1afbfa
--- /dev/null
@@ -0,0 +1 @@
+slc.server.jms.url=tcp://localhost:61616
\ No newline at end of file
index 17689e2bc064191c85d15958d58fff8dd69a2ea1..08b00f5f437dd0c978e359e3611abbc8225b3923 100644 (file)
@@ -2,7 +2,9 @@ Bundle-SymbolicName: org.argeo.slc.server.activemq
 Bundle-Version: 0.11.3.qualifier
 Import-Package: javax.jms,
  javax.management.j2ee.statistics,
- org.apache.commons.logging
+ org.apache.commons.logging,
+ org.apache.activemq.pool,
+ org.apache.commons.pool
 Require-Bundle: org.argeo.slc.server,
  org.argeo.slc.support.activemq,
  org.springframework.core,
index 2ef51f341954e81a90cf07f6de7ec37fe6c36f01..ef27997d386b1f70ac5242d60467cca3412644d4 100644 (file)
@@ -6,20 +6,41 @@
 
        <import resource="classpath:org/argeo/slc/activemq/spring.xml" />
 
+       <bean
+               class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
+               <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
+               <property name="ignoreUnresolvablePlaceholders" value="true" />
+               <property name="locations">
+                       <value>osgibundle:activemq.properties
+                       </value>
+               </property>
+       </bean>
+
        <!-- Embedded broker -->
        <amq:broker useJmx="false" persistent="false">
                <amq:transportConnectors>
-                       <amq:transportConnector uri="tcp://localhost:61616" />
+                       <amq:transportConnector uri="${slc.server.jms.url}" />
                </amq:transportConnectors>
        </amq:broker>
 
        <!-- Connection Factory -->
-       <bean id="jmsConnectionFactory"
+       <!-- <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>
+                                       <value>vm://localhost</value>
+                               </property>
+                       </bean>
+               </property>
+       </bean> -->
+
+       <bean id="jmsConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory"
+               destroy-method="stop">
+               <property name="connectionFactory">
+                       <bean class="org.apache.activemq.ActiveMQConnectionFactory">
+                               <property name="brokerURL">
+                                       <value>vm://localhost</value>
                                </property>
                        </bean>
                </property>
diff --git a/server/org.argeo.slc.siteserver/bundles/org.argeo.slc.server.activemq/activemq.properties b/server/org.argeo.slc.siteserver/bundles/org.argeo.slc.server.activemq/activemq.properties
new file mode 100644 (file)
index 0000000..fea137c
--- /dev/null
@@ -0,0 +1 @@
+slc.server.jms.url=tcp://localhost:61616
index 319630a1e0d6122b24933a22eb08f426b6f5fe0a..fbb0e4feef42002f30c5a1435858a5d3febb31d5 100644 (file)
@@ -8,4 +8,5 @@ Import-Package:
  org.springframework.cache.ehcache,
  net.sf.ehcache.hibernate,
  org.hsqldb.jdbc,
- org.hibernate
+ org.hibernate,
+ org.springframework.beans.factory.config
index 0be5483c70c011e48e8f7cb704837a40fe6d2efb..26f0a054d0be537f96568868c710f3d042c90529 100644 (file)
@@ -8,9 +8,18 @@
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd"
        default-lazy-init="false">
 
-               <import
-               resource="classpath:/org/argeo/slc/hibernate/spring/applicationContext.xml"
-               />
+       <import
+               resource="classpath:/org/argeo/slc/hibernate/spring/applicationContext.xml" />
+
+       <bean
+               class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
+               <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
+               <property name="ignoreUnresolvablePlaceholders" value="true" />
+               <property name="locations">
+                       <value>osgibundle:hsqldb.properties
+                       </value>
+               </property>
+       </bean>
 
        <bean id="sessionFactory" parent="slcTemplates.sessionFactory.hibernateBasic">
                <property name="dataSource" ref="dataSource" />
@@ -24,9 +33,9 @@
        </bean>
 
        <bean id="dataSource" class="org.hsqldb.jdbc.jdbcDataSource">
-               <property name="database" value="jdbc:hsqldb:mem:test"/>
-               <property name="user" value="sa"/>
-               <property name="password" value=""/>
-               
+               <property name="database" value="${slc.server.hsqldb.url}" />
+               <property name="user" value="sa" />
+               <property name="password" value="" />
+
        </bean>
 </beans>
\ No newline at end of file
diff --git a/server/org.argeo.slc.siteserver/bundles/org.argeo.slc.server.hsqldb/hsqldb.properties b/server/org.argeo.slc.siteserver/bundles/org.argeo.slc.server.hsqldb/hsqldb.properties
new file mode 100644 (file)
index 0000000..72dd579
--- /dev/null
@@ -0,0 +1 @@
+slc.server.hsqldb.url=jdbc:hsqldb:mem:test
\ No newline at end of file
index a44c6e43d774c7630134e7b1c67e25190bcf3c56..da5e2c3888d8a36d33015faaeca0c28507978535 100644 (file)
@@ -10,7 +10,7 @@
                <property name="jmsTemplate">
                        <bean class="org.springframework.jms.core.JmsTemplate">
                                <property name="connectionFactory" ref="jmsConnectionFactory" />
-                               <property name="receiveTimeout" value="10000" />
+                               <property name="receiveTimeout" value="20000" />
                        </bean>
                </property>
                <property name="messageConverter" ref="slcDefault.jms.castorMessageConverter" />
index e60afa16507fd577532804ef9d859cd7cd655245..e0d51a803864f6e2ac85623ace4b9badb945a1fd 100644 (file)
 \r
        <reference interface="org.hibernate.SessionFactory" id="sessionFactory" />\r
 \r
+<!-- \r
        <reference interface="org.argeo.slc.execution.ExecutionModulesManager"\r
                id="modulesManager" />\r
-\r
+ -->\r
        <reference id="testManagerService"\r
                interface="org.argeo.slc.services.test.TestManagerService" />\r
        <reference id="agentService" interface="org.argeo.slc.services.runtime.AgentService" />\r