]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - runtime/org.argeo.slc.support.activemq/src/main/java/org/argeo/slc/jms/JmsTransferNewExecution.java
Event listener use only one JMS Connection
[gpl/argeo-slc.git] / runtime / org.argeo.slc.support.activemq / src / main / java / org / argeo / slc / jms / JmsTransferNewExecution.java
index 28913aea87e46807b39f60c5f3a07ee64bfcccbc..aa66dc8da097626178856c0d36207e978e2b8430 100644 (file)
@@ -4,6 +4,8 @@ import javax.jms.Message;
 import javax.jms.MessageListener;
 
 import org.argeo.slc.SlcException;
+import org.argeo.slc.msg.MsgConstants;
+import org.argeo.slc.msg.MsgHandler;
 import org.argeo.slc.process.SlcExecution;
 import org.argeo.slc.runtime.SlcAgent;
 import org.argeo.slc.runtime.SlcAgentFactory;
@@ -13,11 +15,12 @@ import org.springframework.jms.support.converter.MessageConverter;
 public class JmsTransferNewExecution implements MessageListener {
        private MessageConverter messageConverter;
        private SlcAgentFactory agentFactory;
+       private MsgHandler serviceMsgHandler;
 
        public void onMessage(final Message message) {
                try {
                        String agentId = message
-                                       .getStringProperty(JmsAgent.PROPERTY_SLC_AGENT_ID);
+                                       .getStringProperty(MsgConstants.PROPERTY_SLC_AGENT_ID);
                        final SlcAgent agent = agentFactory.getAgent(agentId);
                        final SlcExecution slcExecution = (SlcExecution) messageConverter
                                        .fromMessage(message);
@@ -26,6 +29,7 @@ public class JmsTransferNewExecution implements MessageListener {
                                        agent.runSlcExecution(slcExecution);
                                }
                        }.start();
+                       serviceMsgHandler.handleMsg(slcExecution);
                } catch (Exception e) {
                        throw new SlcException("Could not transfer new execution "
                                        + message, e);
@@ -40,4 +44,8 @@ public class JmsTransferNewExecution implements MessageListener {
                this.agentFactory = agentFactory;
        }
 
+       public void setServiceMsgHandler(MsgHandler serviceMsgHandler) {
+               this.serviceMsgHandler = serviceMsgHandler;
+       }
+
 }