Solve issue with selectors
authorMathieu Baudier <mbaudier@argeo.org>
Sun, 26 Apr 2009 09:41:11 +0000 (09:41 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Sun, 26 Apr 2009 09:41:11 +0000 (09:41 +0000)
git-svn-id: https://svn.argeo.org/slc/trunk@2371 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

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
demo/site/pom.xml
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
runtime/org.argeo.slc.support.activemq/src/main/resources/org/argeo/slc/activemq/spring.xml
server/org.argeo.slc.ria/src/argeo-ria-lib/slc/class/org/argeo/slc/ria/LauncherApplet.js
server/org.argeo.slc.ria/src/argeo-ria-lib/slc/class/org/argeo/slc/ria/NewLauncherApplet.js
server/org.argeo.slc.siteserver/bundles/pom.xml

index 6f1eeaea0176556c22027e3d81fc3d81d18e5387..4b4edb60854829da3ec8ad3dfe3c61a8049b2a56 100644 (file)
@@ -58,9 +58,7 @@
                                                        <execDir>target/exec/server</execDir>
                                                        <jvmArgs>
                                                                <jvmArg>-Xmx256m</jvmArg>
-                                                               <!--
-                                                                       <jvmArg>-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=8000</jvmArg>
-                                                               -->
+                                                               <!-- <jvmArg>-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=8000</jvmArg>-->
                                                        </jvmArgs>
                                                        <systemProperties>
                                                                <slc.osgi.start>
                                                <artifactId>maven-argeo-osgi-plugin</artifactId>
                                                <configuration>
                                                        <execDir>target/exec/agent</execDir>
+                                                       <jvmArgs>
+                                                               <jvmArg>-Xmx128m</jvmArg>
+                                                               <!-- <jvmArg>-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=8001</jvmArg> -->
+                                                       </jvmArgs>
                                                        <systemProperties>
                                                                <slc.osgi.start>
                                                                        org.springframework.osgi.extender,
index 00dfd500fca173b43c46e530e55b31fb985017c4..b5f6657f4e148ecbfc7a3f1af3953291b63f75a0 100644 (file)
@@ -8,6 +8,7 @@ Import-Package:
  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,
index 705e6e9c8cc60097d584c3006cef1a6530e8fa8f..06efcebfe0f5a07efdb19c961a882050dfee8aad 100644 (file)
                class="org.springframework.jms.listener.DefaultMessageListenerContainer">
                <property name="connectionFactory" ref="jmsConnectionFactory" />
                <property name="destination" ref="slcJms.destination.agent.newExecution" />
-               <property name="messageListener" ref="jmsAgent">
-                       <!--
-                               <bean parent="slcTemplate.jms.listenerAdapterCastor">
-                               <constructor-arg ref="slcDefault.jms.agent" /> <property
-                               name="defaultListenerMethod" value="newExecution" /> </bean>
-                       -->
+               <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>
-               <!--
-                       <property name="messageSelector"> <bean
-                       factory-bean="slcDefault.jms.agent"
-                       factory-method="getMessageSelector"/> </property>
-               -->
        </bean>
 
        <bean id="jmsAgent" class="org.argeo.slc.jms.JmsAgent">
@@ -45,7 +42,7 @@
                        </bean>
                </property>
        </bean>
-       
+
        <!-- SLC Execution Listener -->
        <bean id="slcExecutionListener" class="org.argeo.slc.jms.JmsSlcExecutionNotifier">
                <property name="updateStatusDestination" ref="slcJms.destination.slcExecution.updateStatus" />
index 3b720b468443182aae0be44d925ac91dbc738319..58cc837308c14badf046186d1cbc08cd3cfcc903 100644 (file)
@@ -16,7 +16,6 @@
                        <plugin>
                                <groupId>org.argeo.slc.maven</groupId>
                                <artifactId>maven-argeo-osgi-plugin</artifactId>
-                               <version>0.1.6</version>
                                <extensions>true</extensions>
                        </plugin>
                </plugins>
index 67cbe8968b58f170adf919b5bd0529c1526d34e1..2f974db1064e4e68b1e05013c157cbb94a794203 100644 (file)
@@ -274,6 +274,11 @@ limitations under the License.
                                <artifactId>org.argeo.slc.server</artifactId>
                                <version>${project.version}</version>
                        </dependency>
+                       <dependency>
+                               <groupId>org.argeo.slc.runtime</groupId>
+                               <artifactId>org.argeo.slc.osgiboot</artifactId>
+                               <version>${project.version}</version>
+                       </dependency>
                        <dependency>
                                <groupId>org.argeo.slc.runtime</groupId>
                                <artifactId>org.argeo.slc.support.equinox</artifactId>
index d0141651158834074ca201ac42e3422572c476d2..54f896eb6ce2928053698d0075df21ac82271b5d 100644 (file)
                        <groupId>javax.xml.soap</groupId>
                        <artifactId>com.springsource.javax.xml.soap</artifactId>
                </dependency>
+               
+               <!--
+               <dependency>
+                       <groupId>javax.xml.stream</groupId>
+                       <artifactId>com.springsource.javax.xml.stream</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.apache.xalan</groupId>
+                       <artifactId>com.springsource.org.apache.xalan</artifactId>
+               </dependency>
+  -->
        </dependencies>
 </project>
\ No newline at end of file
index e8d3cd83c33796b615733a2eeaf9b2b32dd9c8f4..8678c1705b03c484911ccc7950cc79d7bc1b8800 100644 (file)
@@ -6,15 +6,11 @@ import java.util.UUID;
 
 import javax.jms.ConnectionFactory;
 import javax.jms.Destination;
-import javax.jms.JMSException;
-import javax.jms.Message;
-import javax.jms.MessageListener;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.argeo.slc.SlcException;
 import org.argeo.slc.core.runtime.AbstractAgent;
-import org.argeo.slc.process.SlcExecution;
 import org.argeo.slc.runtime.SlcAgent;
 import org.argeo.slc.runtime.SlcAgentDescriptor;
 import org.springframework.beans.factory.DisposableBean;
@@ -24,7 +20,7 @@ import org.springframework.jms.support.converter.MessageConverter;
 
 /** JMS based implementation of SLC Agent. */
 public class JmsAgent extends AbstractAgent implements SlcAgent,
-               InitializingBean, DisposableBean, MessageListener {
+               InitializingBean, DisposableBean {
        private final static Log log = LogFactory.getLog(JmsAgent.class);
 
        private final SlcAgentDescriptor agentDescriptor;
@@ -69,27 +65,25 @@ public class JmsAgent extends AbstractAgent implements SlcAgent,
                this.agentUnregister = agentUnregister;
        }
 
-       public void onMessage(Message message) {
-               // FIXME: we filter the messages on the client side,
-               // because of a weird problem with selector since moving to OSGi
-               try {
-                       if (message.getStringProperty("slc-agentId").equals(
-                                       agentDescriptor.getUuid())) {
-                               runSlcExecution((SlcExecution) messageConverter
-                                               .fromMessage(message));
-                       }
-               } catch (JMSException e) {
-                       throw new SlcException("Cannot convert message " + message, e);
-               }
-
-       }
+       /*
+        * public void onMessage(Message message) { // FIXME: we filter the messages
+        * on the client side, // because of a weird problem with selector since
+        * moving to OSGi try { if (message.getStringProperty("slc-agentId").equals(
+        * agentDescriptor.getUuid())) { runSlcExecution((SlcExecution)
+        * messageConverter .fromMessage(message)); } else { if
+        * (log.isDebugEnabled()) log.debug("Filtered out message " + message); } }
+        * catch (JMSException e) { throw new SlcException("Cannot convert message "
+        * + message, e); }
+        * 
+        * }
+        */
 
        public String getMessageSelector() {
-               String messageSelector = "slc-agentId=" + agentDescriptor.getUuid()
-                               + "";
+               String messageSelector = "slc_agentId='" + agentDescriptor.getUuid()
+                               + "'";
                // String messageSelector = "slc-agentId LIKE '%'";
                if (log.isDebugEnabled())
-                       log.debug("Message selector: '" + messageSelector + "'");
+                       log.debug("Message selector: " + messageSelector);
                return messageSelector;
        }
 
index 429e76f282a3c7681c9d353b9c4d4e836c740ee5..3525591ca1738e8179a345648bc1933dafbdf281 100644 (file)
                <property name="unmarshaller" ref="slcDefault.castor.marshaller" />
        </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 03ec8cc980e16a685ed2d6512bdb1ed21365c7d3..3236e689abfc6f5fc16d693f243fcbe439306256 100644 (file)
@@ -465,7 +465,7 @@ qx.Class.define("org.argeo.slc.ria.LauncherApplet",
                this._amqClient.sendMessage(
                        "topic://agent.newExecution", 
                        slcExec.toXml(), 
-                       {"slc-agentId":currentUuid}
+                       {"slc_agentId":currentUuid}
                );
                // Force logs refresh right now!
                qx.event.Timer.once(function(){
index 6f3076657e6822ec27ef859dc6b4039ec17f7e6a..6e232ff3a55b13a8eb8c78c9ca391b6140027589 100644 (file)
@@ -641,7 +641,7 @@ qx.Class.define("org.argeo.slc.ria.NewLauncherApplet",
                this._amqClient.sendMessage(
                        "topic://agent.newExecution", 
                        slcExecMessage.toXml(), 
-                       {"slc-agentId":agentUuid}
+                       {"slc_agentId":agentUuid}
                );
                // Force logs refresh right now!
                qx.event.Timer.once(function(){
index 3e5a4d80eba129f9cf9c960aca2d720b989f9c1a..d2c3520faa6d62f2669ef7ce55603291d6e58a75 100644 (file)
@@ -16,7 +16,6 @@
                        <plugin>
                                <groupId>org.argeo.slc.maven</groupId>
                                <artifactId>maven-argeo-osgi-plugin</artifactId>
-                               <version>0.1.6</version>
                                <extensions>true</extensions>
                        </plugin>
                </plugins>