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
.MsgHandler
;
8 import org
.argeo
.slc
.process
.SlcExecution
;
9 import org
.argeo
.slc
.runtime
.SlcAgent
;
10 import org
.argeo
.slc
.runtime
.SlcAgentFactory
;
11 import org
.springframework
.jms
.support
.converter
.MessageConverter
;
14 public class JmsTransferNewExecution
implements MessageListener
{
15 private MessageConverter messageConverter
;
16 private SlcAgentFactory agentFactory
;
17 private MsgHandler serviceMsgHandler
;
19 public void onMessage(final Message message
) {
21 String agentId
= message
22 .getStringProperty(JmsAgent
.PROPERTY_SLC_AGENT_ID
);
23 final SlcAgent agent
= agentFactory
.getAgent(agentId
);
24 final SlcExecution slcExecution
= (SlcExecution
) messageConverter
25 .fromMessage(message
);
28 agent
.runSlcExecution(slcExecution
);
31 serviceMsgHandler
.handleMsg(slcExecution
);
32 } catch (Exception e
) {
33 throw new SlcException("Could not transfer new execution "
38 public void setMessageConverter(MessageConverter messageConverter
) {
39 this.messageConverter
= messageConverter
;
42 public void setAgentFactory(SlcAgentFactory agentFactory
) {
43 this.agentFactory
= agentFactory
;
46 public void setServiceMsgHandler(MsgHandler serviceMsgHandler
) {
47 this.serviceMsgHandler
= serviceMsgHandler
;