1 package org
.argeo
.slc
.jms
;
3 import javax
.jms
.Message
;
4 import javax
.jms
.MessageListener
;
6 import org
.argeo
.slc
.SlcException
;
7 import org
.argeo
.slc
.msg
.MsgConstants
;
8 import org
.argeo
.slc
.msg
.MsgHandler
;
9 import org
.argeo
.slc
.process
.SlcExecution
;
10 import org
.argeo
.slc
.runtime
.SlcAgent
;
11 import org
.argeo
.slc
.runtime
.SlcAgentFactory
;
12 import org
.springframework
.jms
.support
.converter
.MessageConverter
;
15 public class JmsTransferNewExecution
implements MessageListener
{
16 private MessageConverter messageConverter
;
17 private SlcAgentFactory agentFactory
;
18 private MsgHandler serviceMsgHandler
;
20 public void onMessage(final Message message
) {
22 String agentId
= message
23 .getStringProperty(MsgConstants
.PROPERTY_SLC_AGENT_ID
);
24 final SlcAgent agent
= agentFactory
.getAgent(agentId
);
25 final SlcExecution slcExecution
= (SlcExecution
) messageConverter
26 .fromMessage(message
);
29 agent
.runSlcExecution(slcExecution
);
32 serviceMsgHandler
.handleMsg(slcExecution
);
33 } catch (Exception e
) {
34 throw new SlcException("Could not transfer new execution "
39 public void setMessageConverter(MessageConverter messageConverter
) {
40 this.messageConverter
= messageConverter
;
43 public void setAgentFactory(SlcAgentFactory agentFactory
) {
44 this.agentFactory
= agentFactory
;
47 public void setServiceMsgHandler(MsgHandler serviceMsgHandler
) {
48 this.serviceMsgHandler
= serviceMsgHandler
;