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
.process
.SlcExecution
;
8 import org
.argeo
.slc
.runtime
.SlcAgent
;
9 import org
.argeo
.slc
.runtime
.SlcAgentFactory
;
10 import org
.springframework
.jms
.support
.converter
.MessageConverter
;
13 public class JmsTransferNewExecution
implements MessageListener
{
14 private MessageConverter messageConverter
;
15 private SlcAgentFactory agentFactory
;
17 public void onMessage(final Message message
) {
19 String agentId
= message
20 .getStringProperty(JmsAgent
.PROPERTY_SLC_AGENT_ID
);
21 final SlcAgent agent
= agentFactory
.getAgent(agentId
);
22 final SlcExecution slcExecution
= (SlcExecution
) messageConverter
23 .fromMessage(message
);
26 agent
.runSlcExecution(slcExecution
);
29 } catch (Exception e
) {
30 throw new SlcException("Could not transfer new execution "
35 public void setMessageConverter(MessageConverter messageConverter
) {
36 this.messageConverter
= messageConverter
;
39 public void setAgentFactory(SlcAgentFactory agentFactory
) {
40 this.agentFactory
= agentFactory
;