1 package at.ac.tuwien.sbc.valesriegler.waiter.jms;
3 import javax.jms.JMSException;
4 import javax.jms.Message;
5 import javax.jms.ObjectMessage;
7 import org.slf4j.Logger;
8 import org.slf4j.LoggerFactory;
10 import at.ac.tuwien.sbc.valesriegler.jms.nac.AbstractJMSNACMsgListener;
11 import at.ac.tuwien.sbc.valesriegler.jms.nac.actions.AddressInfoRequest;
12 import at.ac.tuwien.sbc.valesriegler.jms.nac.actions.AddressInfoResponse;
13 import at.ac.tuwien.sbc.valesriegler.jms.nac.actions.BenchmarkStart;
14 import at.ac.tuwien.sbc.valesriegler.jms.nac.actions.BenchmarkStop;
15 import at.ac.tuwien.sbc.valesriegler.waiter.WaiterAgent;
17 * Handles the NAC communication for the Group Agent.
22 public class WaiterJMSNACMsgListener extends AbstractJMSNACMsgListener {
23 private static final Logger log = LoggerFactory.getLogger(WaiterJMSNACMsgListener.class);
25 public WaiterJMSNACMsgListener() {
29 public void onMessage(Message msg) {
31 if (msg instanceof ObjectMessage) {
32 ObjectMessage objMsg = (ObjectMessage) msg;
33 Object obj = objMsg.getObject();
34 if (obj instanceof AddressInfoRequest) {
36 } else if (obj instanceof AddressInfoResponse) {
38 } else if (obj instanceof BenchmarkStop) {
39 WaiterAgent.jmsWaiter.getConnection().close();
40 } else if (obj instanceof BenchmarkStart) {
41 WaiterAgent.jmsWaiter.initJMS();
44 log.warn("Received unknown Object: " + obj);
47 log.warn("Received unknown Message: " + msg);
49 } catch (JMSException e) {
50 log.error("EXCEPTION!", e);