X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=runtime%2Forg.argeo.slc.support.activemq%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fjms%2FJmsAgent.java;h=7490f32d1db4c4a89dab9b407fa46fca3b83b3e9;hb=7a2f320afe9a0d3d7590365b26f3f5b0e8d9fd3b;hp=4b031f9472801fdbb92fe244a52ff66a400de33a;hpb=ec9fe3774f157092d748b0844dbbb55e29a67481;p=gpl%2Fargeo-slc.git diff --git a/runtime/org.argeo.slc.support.activemq/src/main/java/org/argeo/slc/jms/JmsAgent.java b/runtime/org.argeo.slc.support.activemq/src/main/java/org/argeo/slc/jms/JmsAgent.java index 4b031f947..7490f32d1 100644 --- a/runtime/org.argeo.slc.support.activemq/src/main/java/org/argeo/slc/jms/JmsAgent.java +++ b/runtime/org.argeo.slc.support.activemq/src/main/java/org/argeo/slc/jms/JmsAgent.java @@ -31,6 +31,9 @@ import org.springframework.jms.support.converter.MessageConversionException; /** JMS based implementation of SLC Agent. */ public class JmsAgent extends AbstractAgent implements SlcAgent, InitializingBean, DisposableBean, SessionAwareMessageListener { + public final static String PROPERTY_QUERY = "query"; + public final static String PROPERTY_SLC_AGENT_ID = "slc_agentId"; + private final static Log log = LogFactory.getLog(JmsAgent.class); private final SlcAgentDescriptor agentDescriptor; @@ -101,7 +104,7 @@ public class JmsAgent extends AbstractAgent implements SlcAgent, public void onMessage(Message message, Session session) throws JMSException { MessageProducer producer = session.createProducer(responseDestination); - String query = message.getStringProperty("query"); + String query = message.getStringProperty(PROPERTY_QUERY); String correlationId = message.getJMSCorrelationID(); if (log.isDebugEnabled()) log.debug("Received query " + query + " with correlationId " @@ -123,16 +126,23 @@ public class JmsAgent extends AbstractAgent implements SlcAgent, agentDescriptorToSend.setModuleDescriptors(lst); responseMsg = jmsTemplate.getMessageConverter().toMessage( agentDescriptorToSend, session); + } else if ("newExecution".equals(query)) { + + SlcExecution slcExecution = (SlcExecution) jmsTemplate + .getMessageConverter().fromMessage(message); + runSlcExecution(slcExecution); } else { - try { - //FIXME: generalize - SlcExecution slcExecution = (SlcExecution) jmsTemplate - .getMessageConverter().fromMessage(message); - runSlcExecution(slcExecution); - } catch (MessageConversionException e) { - if (log.isDebugEnabled()) - log.debug("Unsupported query " + query, e); - } + // try { + // // FIXME: generalize + // SlcExecution slcExecution = (SlcExecution) jmsTemplate + // .getMessageConverter().fromMessage(message); + // runSlcExecution(slcExecution); + // } catch (MessageConversionException e) { + // if (log.isDebugEnabled()) + // log.debug("Unsupported query " + query, e); + // } + if (log.isDebugEnabled()) + log.debug("Unsupported query " + query); return; }