]> git.argeo.org Git - gpl/argeo-slc.git/commitdiff
Make OSGi and ActiveMQ compatible
authorMathieu Baudier <mbaudier@argeo.org>
Wed, 25 Feb 2009 12:44:23 +0000 (12:44 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Wed, 25 Feb 2009 12:44:23 +0000 (12:44 +0000)
git-svn-id: https://svn.argeo.org/slc/trunk@2173 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

demo/org.argeo.slc.demo.manager/src/main/resources/conf/jms.xml
demo/org.argeo.slc.demo.manager/src/main/resources/conf/manager.xml
demo/org.argeo.slc.demo.manager/src/test/java/org/argeo/slc/demo/manager/JmsTesting.java
runtime/org.argeo.slc.support.activemq/pom.xml
runtime/org.argeo.slc.support.activemq/src/main/resources/org/argeo/slc/activemq/spring.xml

index b5a323d4867bcafba11752041106c94c36ccfe30..d0ab93c183c883f4383ce44b27b2db22c4e1e2ef 100644 (file)
@@ -4,45 +4,29 @@
        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/castor/spring.xml" />
-
-       <bean id="slcDefault.jms.castorMessageConverter" class="org.argeo.slc.jms.MarshallerMessageConverter">
-               <property name="marshaller" ref="slcDefault.castor.marshaller" />
-               <property name="unmarshaller" ref="slcDefault.castor.marshaller" />
-       </bean>
-
-
-       <bean id="slcDefault.jms.amqConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
-               <property name="brokerURL">
-                       <value>tcp://localhost:61616</value>
-               </property>
-       </bean>
-
-
-       <bean id="slcDefault.jms.connectionFactory"
-               class="org.springframework.jms.connection.SingleConnectionFactory">
-               <property name="targetConnectionFactory">
-                       <ref local="slcDefault.jms.amqConnectionFactory" />
+       <import resource="classpath:org/argeo/slc/activemq/spring.xml" />
+
+       <bean id="modulesManager.listenerContainer" parent="slcTemplate.jms.listenerContainer">
+               <property name="destination" ref="slcJms.destination.modulesManager.request" />
+               <property name="messageListener">
+                       <bean class="org.argeo.slc.jms.ServiceMessageListenerAdapter">
+                               <property name="methodArguments">
+                                       <map>
+                                               <entry key="getExecutionModuleDescriptor">
+                                                       <list>
+                                                               <value>name</value>
+                                                               <value>version</value>
+                                                       </list>
+                                               </entry>
+                                       </map>
+                               </property>
+
+                               <property name="delegate" ref="modulesManager" />
+                               <property name="defaultResponseDestination" ref="slcJms.destination.modulesManager.response" />
+                               <property name="messageConverter" ref="slcDefault.jms.castorMessageConverter" />
+                       </bean>
                </property>
        </bean>
 
-       <bean id="slcDefault.jms.jmsTemplateCastor" class="org.springframework.jms.core.JmsTemplate">
-               <property name="connectionFactory" ref="slcDefault.jms.connectionFactory" />
-               <property name="messageConverter" ref="slcDefault.jms.castorMessageConverter" />
-       </bean>
-
-
 
-       <!-- Templates -->
-       <bean id="slcTemplate.jms.listenerContainer"
-               class="org.springframework.jms.listener.DefaultMessageListenerContainer"
-               abstract="true">
-               <property name="connectionFactory" ref="slcDefault.jms.connectionFactory" />
-       </bean>
-
-       <bean id="slcTemplate.jms.listenerAdapterCastor"
-               class="org.springframework.jms.listener.adapter.MessageListenerAdapter"
-               abstract="true">
-               <property name="messageConverter" ref="slcDefault.jms.castorMessageConverter" />
-       </bean>
 </beans>
\ No newline at end of file
index 3c3a27838b0af886be560317c3fee5900b78a7cf..a1996f3b0b11bea2f6ad27768167ee97816ac721 100644 (file)
@@ -1,38 +1,10 @@
 <?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
-       xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context"\r
        xsi:schemaLocation="\r
-       http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd\r
-       http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang-2.5.xsd\r
-       http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd\r
-       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">\r
-\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.execution.ModulesManager">\r
                <property name="executionModules" ref="executionModules" />\r
        </bean>\r
-\r
-       <bean id="modulesManager.listenerContainer" parent="slcTemplate.jms.listenerContainer">\r
-               <property name="destinationName" value="modulesManager.request" />\r
-               <property name="messageListener">\r
-                       <bean class="org.argeo.slc.jms.ServiceMessageListenerAdapter">\r
-                               <property name="methodArguments">\r
-                                       <map>\r
-                                               <entry key="getExecutionModuleDescriptor">\r
-                                                       <list>\r
-                                                               <value>name</value>\r
-                                                               <value>version</value>\r
-                                                       </list>\r
-                                               </entry>\r
-                                       </map>\r
-                               </property>\r
-\r
-                               <property name="delegate" ref="modulesManager" />\r
-                               <property name="defaultResponseQueueName" value="modulesManager.response" />\r
-                               <property name="messageConverter" ref="slcDefault.jms.castorMessageConverter" />\r
-                       </bean>\r
-               </property>\r
-       </bean>\r
-\r
 </beans>
\ No newline at end of file
index 50ea47e3428502f575501b9736e32b928f10205b..21575fa0bb6da25b7371b713e198d70bfc3347fd 100644 (file)
@@ -22,7 +22,7 @@ public class JmsTesting {
         */
        public static void main(String[] args) {
                ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext(
-                               "conf/jms.xml");
+                               "org/argeo/slc/activemq/spring.xml");
                try {
 
                        ConnectionFactory connectionFactory = (ConnectionFactory) applicationContext
index f4b5083cb7658a8c513d58b3a7e171c96c8e0513..21a9b05483ec14a660afcb478a103b3aa5827912 100644 (file)
                                <configuration>
                                        <instructions>
                                                <Export-Package>
-                                                       org.argeo.slc.*
+                                                       org.argeo.slc.jms.*,org.argeo.slc.activemq
                                                </Export-Package>
+                                               <!-- 
+                                               <Import-Package>*,
+                                                       org.springframework.beans.factory.xml,
+                                                       org.apache.xbean.spring.context.v2,
+                                                       com.thoughtworks.qdox;resolution:=optional,
+                                                       com.thoughtworks.qdox.model;resolution:=optional,
+                                                       org.apache.tools.ant;resolution:=optional,
+                                                       org.apache.tools.ant.taskdefs;resolution:=optional,
+                                                       org.apache.tools.ant.types;resolution:=optional
+                                               </Import-Package>
+                                               <Fragment-Host>com.springsource.org.apache.activemq</Fragment-Host>
+                                               <Embed-Dependency>com.springsource.org.apache.xbean.spring</Embed-Dependency>
+                                                -->
                                        </instructions>
                                </configuration>
                        </plugin>
-
+                       <!-- 
+                       <plugin>
+                               <groupId>org.apache.maven.plugins</groupId>
+                               <artifactId>maven-dependency-plugin</artifactId>
+                               <executions>
+                                       <execution>
+                                               <id>copy-dependencies</id>
+                                               <phase>process-resources</phase>
+                                               <goals>
+                                                       <goal>copy-dependencies</goal>
+                                               </goals>
+                                               <configuration>
+                                                       <includeArtifactIds>com.springsource.org.apache.xbean.spring</includeArtifactIds>
+                                                       <outputDirectory>${project.build.directory}/classes</outputDirectory>
+                                               </configuration>
+                                       </execution>
+                               </executions>
+                       </plugin>
+ -->
                </plugins>
        </build>
        <dependencies>
                        <groupId>org.apache.xbean</groupId>
                        <artifactId>com.springsource.org.apache.xbean.spring</artifactId>
                </dependency>
-               <!-- 
-               <dependency>
+               <!--
+                       <dependency> <groupId>org.apache.activemq</groupId>
+                       <artifactId>activemq-pool</artifactId> </dependency> <dependency>
                        <groupId>org.apache.activemq</groupId>
-                       <artifactId>activemq-pool</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.activemq</groupId>
-                       <artifactId>activemq-optional</artifactId>
-               </dependency>
-                -->
+                       <artifactId>activemq-optional</artifactId> </dependency>
+               -->
        </dependencies>
 </project>
\ No newline at end of file
index f2a9848b2773f073a2baeedb1af543ddc316f4f8..83c5ac9dc6f3037813ae686dfd19bce444945b6a 100644 (file)
@@ -1,8 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:amq="http://activemq.apache.org/schema/core" 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
-       http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core-5.2.0.xsd"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
+       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/castor/spring.xml" />
                <property name="unmarshaller" ref="slcDefault.castor.marshaller" />
        </bean>
 
-       <amq:connectionFactory id="slcDefault.jms.amqConnectionFactory"
+       <bean id="slcDefault.jms.amqConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
+               <property name="brokerURL">
+                       <value>tcp://localhost:61616</value>
+               </property>
+       </bean>
+       <!--
+               <amq:connectionFactory id="slcDefault.jms.amqConnectionFactory"
                brokerURL="${org.apache.activemq.brokerURL}" />
-
+       -->
        <bean id="slcDefault.jms.connectionFactory"
                class="org.springframework.jms.connection.SingleConnectionFactory">
                <property name="targetConnectionFactory">
 
 
        <!-- Destinations -->
-       <amq:topic id="slcJms.destination.agent.register"
-               physicalName="agent.register" />
-       <amq:topic id="slcJms.destination.agent.unregister"
-               physicalName="agent.unregister" />
-       <amq:topic id="slcJms.destination.agent.newExecution"
+       <!--
+               <amq:topic id="slcJms.destination.agent.register"
+               physicalName="agent.register" /> <amq:topic
+               id="slcJms.destination.agent.unregister"
+               physicalName="agent.unregister" /> <amq:topic
+               id="slcJms.destination.agent.newExecution"
                physicalName="agent.newExecution" />
+       -->
+       <bean id="slcJms.destination.agent.register" p:physicalName="agent.register"
+               parent="slcJms.amTopic" />
+       <bean id="slcJms.destination.agent.unregister" p:physicalName="agent.unregister"
+               parent="slcJms.amTopic" />
+       <bean id="slcJms.destination.agent.newExecution" p:physicalName="agent.newExecution"
+               parent="slcJms.amTopic" />
 
-       <amq:queue id="slcJms.destination.modulesManager.request"
-               physicalName="modulesManager.request" />
-       <amq:topic id="slcJms.destination.modulesManager.response"
-               physicalName="modulesManager.response" />
+       <bean id="slcJms.destination.modulesManager.request"
+               p:physicalName="modulesManager.request" parent="slcJms.amQueue" />
+       <bean id="slcJms.destination.modulesManager.response"
+               p:physicalName="modulesManager.response" parent="slcJms.amQueue" />
 
        <!-- Templates -->
        <bean id="slcTemplate.jms.listenerContainer"
                abstract="true">
                <property name="messageConverter" ref="slcDefault.jms.castorMessageConverter" />
        </bean>
+
+       <bean id="slcJms.amQueue" class="org.apache.activemq.command.ActiveMQQueue"
+               abstract="true" />
+       <bean id="slcJms.amTopic" class="org.apache.activemq.command.ActiveMQTopic"
+               abstract="true" />
+
 </beans>
\ No newline at end of file