X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=runtime%2Forg.argeo.slc.support.activemq%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fjms%2FJmsAgentProxy.java;h=e70af24a849263f550944b4822ef5b4c849de4eb;hb=e1384618cb6d1c06ec570d7798b783fa04a3d807;hp=8837a8155993cdc4c9a04954f45e228c848e3961;hpb=a9bd656db864f3f648d375deef6833c2f53f29ba;p=gpl%2Fargeo-slc.git diff --git a/runtime/org.argeo.slc.support.activemq/src/main/java/org/argeo/slc/jms/JmsAgentProxy.java b/runtime/org.argeo.slc.support.activemq/src/main/java/org/argeo/slc/jms/JmsAgentProxy.java index 8837a8155..e70af24a8 100644 --- a/runtime/org.argeo.slc.support.activemq/src/main/java/org/argeo/slc/jms/JmsAgentProxy.java +++ b/runtime/org.argeo.slc.support.activemq/src/main/java/org/argeo/slc/jms/JmsAgentProxy.java @@ -7,7 +7,6 @@ import javax.jms.Destination; import javax.jms.JMSException; import javax.jms.Message; import javax.jms.Session; -import javax.jms.TextMessage; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -19,7 +18,6 @@ import org.argeo.slc.runtime.SlcAgent; import org.argeo.slc.runtime.SlcAgentDescriptor; import org.springframework.jms.core.JmsTemplate; import org.springframework.jms.core.MessageCreator; -import org.springframework.jms.support.converter.MessageConverter; public class JmsAgentProxy implements SlcAgent { private final static Log log = LogFactory.getLog(JmsAgentProxy.class); @@ -28,16 +26,13 @@ public class JmsAgentProxy implements SlcAgent { private final Destination requestDestination; private final Destination responseDestination; private final JmsTemplate jmsTemplate; - private final MessageConverter messageConverter; public JmsAgentProxy(String agentUuid, Destination requestDestination, - Destination responseDestination, JmsTemplate jmsTemplate, - MessageConverter messageConverter) { + Destination responseDestination, JmsTemplate jmsTemplate) { this.agentUuid = agentUuid; this.requestDestination = requestDestination; this.responseDestination = responseDestination; this.jmsTemplate = jmsTemplate; - this.messageConverter = messageConverter; } public ExecutionModuleDescriptor getExecutionModuleDescriptor( @@ -138,7 +133,7 @@ public class JmsAgentProxy implements SlcAgent { + agentUuid); try { - return messageConverter.fromMessage(responseMsg); + return fromMessage(responseMsg); } catch (Exception e) { throw new SlcException("Could not convert response from agent " + agentUuid + " with correlationId " + correlationId @@ -146,6 +141,15 @@ public class JmsAgentProxy implements SlcAgent { } } + protected Object fromMessage(Message message) throws JMSException { + return jmsTemplate.getMessageConverter().fromMessage(message); + } + + protected Message toMessage(Object obj, Session session) + throws JMSException { + return jmsTemplate.getMessageConverter().toMessage(obj, session); + } + protected class AgentMC implements MessageCreator { private final String query; private Object body = null; @@ -169,7 +173,7 @@ public class JmsAgentProxy implements SlcAgent { if (body == null) msg = session.createTextMessage(); else - msg = messageConverter.toMessage(body, session); + msg = toMessage(body, session); msg.setStringProperty(JmsAgent.PROPERTY_SLC_AGENT_ID, agentUuid); msg.setStringProperty(JmsAgent.PROPERTY_QUERY, query); msg.setJMSCorrelationID(correlationId);