]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - runtime/org.argeo.slc.support.activemq/src/main/java/org/argeo/slc/jms/JmsAgentProxyFactory.java
Communicate with the agent via JMS
[gpl/argeo-slc.git] / runtime / org.argeo.slc.support.activemq / src / main / java / org / argeo / slc / jms / JmsAgentProxyFactory.java
diff --git a/runtime/org.argeo.slc.support.activemq/src/main/java/org/argeo/slc/jms/JmsAgentProxyFactory.java b/runtime/org.argeo.slc.support.activemq/src/main/java/org/argeo/slc/jms/JmsAgentProxyFactory.java
new file mode 100644 (file)
index 0000000..1f625e1
--- /dev/null
@@ -0,0 +1,37 @@
+package org.argeo.slc.jms;
+
+import javax.jms.Destination;
+
+import org.argeo.slc.runtime.SlcAgent;
+import org.argeo.slc.runtime.SlcAgentFactory;
+import org.springframework.jms.core.JmsTemplate;
+import org.springframework.jms.support.converter.MessageConverter;
+
+public class JmsAgentProxyFactory implements SlcAgentFactory {
+       private Destination requestDestination;
+       private Destination responseDestination;
+       private JmsTemplate jmsTemplate;
+       private MessageConverter messageConverter;
+
+       public SlcAgent getAgent(String uuid) {
+               return new JmsAgentProxy(uuid, requestDestination, responseDestination,
+                               jmsTemplate, messageConverter);
+       }
+
+       public void setRequestDestination(Destination requestDestination) {
+               this.requestDestination = requestDestination;
+       }
+
+       public void setResponseDestination(Destination responseDestination) {
+               this.responseDestination = responseDestination;
+       }
+
+       public void setJmsTemplate(JmsTemplate jmsTemplate) {
+               this.jmsTemplate = jmsTemplate;
+       }
+
+       public void setMessageConverter(MessageConverter messageConverter) {
+               this.messageConverter = messageConverter;
+       }
+
+}