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;
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);
agent.runSlcExecution(slcExecution);
}
}.start();
+ serviceMsgHandler.handleMsg(slcExecution);
} catch (Exception e) {
throw new SlcException("Could not transfer new execution "
+ message, e);
this.agentFactory = agentFactory;
}
+ public void setServiceMsgHandler(MsgHandler serviceMsgHandler) {
+ this.serviceMsgHandler = serviceMsgHandler;
+ }
+
}