]> git.somenet.org - pub/jan/sbc.git/blob - src/main/java/at/ac/tuwien/sbc/valesriegler/waiter/jms/WaiterJMSNACMsgListener.java
[JMS] Benchmarks are theoretically possible now. GroupGUI responsesmissing, so it...
[pub/jan/sbc.git] / src / main / java / at / ac / tuwien / sbc / valesriegler / waiter / jms / WaiterJMSNACMsgListener.java
1 package at.ac.tuwien.sbc.valesriegler.waiter.jms;
2
3 import javax.jms.JMSException;
4 import javax.jms.Message;
5 import javax.jms.ObjectMessage;
6
7 import org.slf4j.Logger;
8 import org.slf4j.LoggerFactory;
9
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;
16 /**
17  * Handles the NAC communication for the Group Agent.
18  * 
19  * @author jan
20  * 
21  */
22 public class WaiterJMSNACMsgListener extends AbstractJMSNACMsgListener {
23         private static final Logger log = LoggerFactory.getLogger(WaiterJMSNACMsgListener.class);
24
25         public WaiterJMSNACMsgListener() {
26         }
27
28         @Override
29         public void onMessage(Message msg) {
30                 try {
31                         if (msg instanceof ObjectMessage) {
32                                 ObjectMessage objMsg = (ObjectMessage) msg;
33                                 Object obj = objMsg.getObject();
34                                 if (obj instanceof AddressInfoRequest) {
35                                         // DO NOTHING.
36                                 } else if (obj instanceof AddressInfoResponse) {
37                                         // DO NOTHING.
38                                 } else if (obj instanceof BenchmarkStop) {
39                                         WaiterAgent.jmsWaiter.getConnection().close();
40                                 } else if (obj instanceof BenchmarkStart) {
41                                         WaiterAgent.jmsWaiter.initJMS();
42
43                                 } else {
44                                         log.warn("Received unknown Object: " + obj);
45                                 }
46                         } else {
47                                 log.warn("Received unknown Message: " + msg);
48                         }
49                 } catch (JMSException e) {
50                         log.error("EXCEPTION!", e);
51                 }
52         }
53 }