1 package at.ac.tuwien.sbc.valesriegler.cook.jms.messageListeners;
3 import javax.jms.JMSException;
4 import javax.jms.Message;
5 import javax.jms.MessageListener;
6 import javax.jms.ObjectMessage;
8 import org.slf4j.Logger;
9 import org.slf4j.LoggerFactory;
11 import at.ac.tuwien.sbc.valesriegler.cook.jms.JMSCook;
12 import at.ac.tuwien.sbc.valesriegler.group.actions.DeliveryOrderRequest;
15 * Cook the requested pizza.
20 public class DeliveryOrdersToCook implements MessageListener {
21 private static final Logger log = LoggerFactory.getLogger(DeliveryOrdersToCook.class);
22 private final JMSCook cook;
24 public DeliveryOrdersToCook(JMSCook cook) {
29 public void onMessage(Message msg) {
32 if (msg instanceof ObjectMessage) {
33 ObjectMessage objMsg = (ObjectMessage) msg;
34 Object obj = objMsg.getObject();
36 if (obj instanceof DeliveryOrderRequest) {
37 DeliveryOrderRequest dor = (DeliveryOrderRequest) obj;
38 log.debug("Received: " + dor);
40 // generate random delay
41 Thread.sleep((long) (Math.random() * 10000));
46 log.warn("Received unknown Object: " + obj);
49 log.warn("Received unknown Message: " + msg);
53 } catch (JMSException e) {
54 log.error("EXCEPTION!", e);
55 } catch (InterruptedException e) {
56 log.error("EXCEPTION!", e);
61 public String toString() {
62 return "CookRequestedPizza [cook=" + cook + "]";