From 812428d5925226f28f0d6d4f274df3630dcc156b Mon Sep 17 00:00:00 2001 From: Jan Vales Date: Mon, 10 Jun 2013 18:29:35 +0200 Subject: [PATCH] [JMS] added IF benchmark to Thread.sleep --- .../DeliveryOrdersToCook.java | 5 +++- .../jms/messageListeners/OrdersToCook.java | 23 ++++++++++++++----- .../CookedDeliveryOrders.java | 4 +++- .../sbc/valesriegler/group/DeliveryGroup.java | 5 +++- .../tuwien/sbc/valesriegler/group/Group.java | 5 +++- .../jms/messageListeners/CookedOrders.java | 5 +++- .../jms/messageListeners/WantADelivery.java | 5 +++- .../jms/messageListeners/WantToOrder.java | 5 +++- .../jms/messageListeners/WantToPay.java | 5 +++- .../messageListeners/WantToSitAtTable.java | 5 +++- 10 files changed, 52 insertions(+), 15 deletions(-) diff --git a/src/main/java/at/ac/tuwien/sbc/valesriegler/cook/jms/messageListeners/DeliveryOrdersToCook.java b/src/main/java/at/ac/tuwien/sbc/valesriegler/cook/jms/messageListeners/DeliveryOrdersToCook.java index 3495fd1..2f68607 100644 --- a/src/main/java/at/ac/tuwien/sbc/valesriegler/cook/jms/messageListeners/DeliveryOrdersToCook.java +++ b/src/main/java/at/ac/tuwien/sbc/valesriegler/cook/jms/messageListeners/DeliveryOrdersToCook.java @@ -13,6 +13,7 @@ import org.apache.activemq.ActiveMQConnectionFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import at.ac.tuwien.sbc.valesriegler.common.Util; import at.ac.tuwien.sbc.valesriegler.cook.actions.DeliveryOrderInfo; import at.ac.tuwien.sbc.valesriegler.cook.jms.JMSCook; import at.ac.tuwien.sbc.valesriegler.group.actions.DeliveryOrderRequest; @@ -66,7 +67,9 @@ public class DeliveryOrdersToCook implements MessageListener { // generate delay for (PizzaOrder po : dor.getDeliveryGroupData().getOrder().getOrderedPizzas()) { - Thread.sleep(po.getPizzaType().duration * 1000); + if (!Util.runSimulation) { + Thread.sleep(po.getPizzaType().duration * 1000); + } po.setStatus(PizzaOrderStatus.DONE); Pizza p = Pizza.createPizzaFromPizzaOrder(po, cook.getId(), false); dor.getDeliveryGroupData().getOrder().getCookedPizzas().add(p); diff --git a/src/main/java/at/ac/tuwien/sbc/valesriegler/cook/jms/messageListeners/OrdersToCook.java b/src/main/java/at/ac/tuwien/sbc/valesriegler/cook/jms/messageListeners/OrdersToCook.java index a3facf7..aa08d0f 100644 --- a/src/main/java/at/ac/tuwien/sbc/valesriegler/cook/jms/messageListeners/OrdersToCook.java +++ b/src/main/java/at/ac/tuwien/sbc/valesriegler/cook/jms/messageListeners/OrdersToCook.java @@ -1,5 +1,19 @@ package at.ac.tuwien.sbc.valesriegler.cook.jms.messageListeners; +import javax.jms.Connection; +import javax.jms.DeliveryMode; +import javax.jms.JMSException; +import javax.jms.Message; +import javax.jms.MessageListener; +import javax.jms.MessageProducer; +import javax.jms.ObjectMessage; +import javax.jms.Session; + +import org.apache.activemq.ActiveMQConnectionFactory; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import at.ac.tuwien.sbc.valesriegler.common.Util; import at.ac.tuwien.sbc.valesriegler.cook.actions.OrderInfo; import at.ac.tuwien.sbc.valesriegler.cook.jms.JMSCook; import at.ac.tuwien.sbc.valesriegler.group.actions.OrderRequest; @@ -7,11 +21,6 @@ import at.ac.tuwien.sbc.valesriegler.types.OrderStatus; import at.ac.tuwien.sbc.valesriegler.types.Pizza; import at.ac.tuwien.sbc.valesriegler.types.PizzaOrder; import at.ac.tuwien.sbc.valesriegler.types.PizzaOrderStatus; -import org.apache.activemq.ActiveMQConnectionFactory; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import javax.jms.*; /** * Cook the requested pizza. @@ -57,7 +66,9 @@ public class OrdersToCook implements MessageListener { // generate delay for (PizzaOrder po : orderrequest.getGroupdata().getOrder().getOrderedPizzas()) { - Thread.sleep(po.getPizzaType().duration * 1000); + if (!Util.runSimulation) { + Thread.sleep(po.getPizzaType().duration * 1000); + } po.setStatus(PizzaOrderStatus.DONE); Pizza p = Pizza.createPizzaFromPizzaOrder(po, cook.getId(), false); orderrequest.getGroupdata().getOrder().getCookedPizzas().add(p); diff --git a/src/main/java/at/ac/tuwien/sbc/valesriegler/driver/jms/messageListeners/CookedDeliveryOrders.java b/src/main/java/at/ac/tuwien/sbc/valesriegler/driver/jms/messageListeners/CookedDeliveryOrders.java index 060f876..16e76fc 100644 --- a/src/main/java/at/ac/tuwien/sbc/valesriegler/driver/jms/messageListeners/CookedDeliveryOrders.java +++ b/src/main/java/at/ac/tuwien/sbc/valesriegler/driver/jms/messageListeners/CookedDeliveryOrders.java @@ -46,7 +46,9 @@ public class CookedDeliveryOrders implements MessageListener { log.debug("Received: " + doi); // generate random delay - Thread.sleep((long) (Math.random() * 10000)); + if (!Util.runSimulation) { + Thread.sleep((long) (Math.random() * 10000)); + } String addr = doi.getDeliveryGroupData().getAddress(); boolean delivered = false; OrderDeliveredInfo odi = new OrderDeliveredInfo(doi.getDeliveryGroupData(), driver.getId()); diff --git a/src/main/java/at/ac/tuwien/sbc/valesriegler/group/DeliveryGroup.java b/src/main/java/at/ac/tuwien/sbc/valesriegler/group/DeliveryGroup.java index 66e447f..865caa7 100644 --- a/src/main/java/at/ac/tuwien/sbc/valesriegler/group/DeliveryGroup.java +++ b/src/main/java/at/ac/tuwien/sbc/valesriegler/group/DeliveryGroup.java @@ -4,6 +4,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import at.ac.tuwien.sbc.valesriegler.common.HasId; +import at.ac.tuwien.sbc.valesriegler.common.Util; import at.ac.tuwien.sbc.valesriegler.group.actions.DeliveryOrderRequest; import at.ac.tuwien.sbc.valesriegler.group.jms.JMSGroupConnector; import at.ac.tuwien.sbc.valesriegler.types.DeliveryGroupData; @@ -40,7 +41,9 @@ public class DeliveryGroup implements Runnable, HasId { public void run() { log.debug("Thread started for:" + this); try { - Thread.sleep((long) (Math.random() * 10000)); + if (!Util.runSimulation) { + Thread.sleep((long) (Math.random() * 10000)); + } switch (deliveryGroupData.getDeliveryStatus()) { case START : // should not happen. break; diff --git a/src/main/java/at/ac/tuwien/sbc/valesriegler/group/Group.java b/src/main/java/at/ac/tuwien/sbc/valesriegler/group/Group.java index 13b2b83..49e19cb 100644 --- a/src/main/java/at/ac/tuwien/sbc/valesriegler/group/Group.java +++ b/src/main/java/at/ac/tuwien/sbc/valesriegler/group/Group.java @@ -4,6 +4,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import at.ac.tuwien.sbc.valesriegler.common.HasId; +import at.ac.tuwien.sbc.valesriegler.common.Util; import at.ac.tuwien.sbc.valesriegler.group.actions.OrderRequest; import at.ac.tuwien.sbc.valesriegler.group.actions.PayRequest; import at.ac.tuwien.sbc.valesriegler.group.actions.TableFree; @@ -39,7 +40,9 @@ public class Group implements Runnable, HasId { public void run() { log.debug("Thread started for:" + this); try { - Thread.sleep((long) (Math.random() * 10000)); + if (!Util.runSimulation) { + Thread.sleep((long) (Math.random() * 10000)); + } switch (groupData.getState()) { case NEW : diff --git a/src/main/java/at/ac/tuwien/sbc/valesriegler/waiter/jms/messageListeners/CookedOrders.java b/src/main/java/at/ac/tuwien/sbc/valesriegler/waiter/jms/messageListeners/CookedOrders.java index d7cb5f5..094f0f8 100644 --- a/src/main/java/at/ac/tuwien/sbc/valesriegler/waiter/jms/messageListeners/CookedOrders.java +++ b/src/main/java/at/ac/tuwien/sbc/valesriegler/waiter/jms/messageListeners/CookedOrders.java @@ -13,6 +13,7 @@ import org.apache.activemq.ActiveMQConnectionFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import at.ac.tuwien.sbc.valesriegler.common.Util; import at.ac.tuwien.sbc.valesriegler.cook.actions.OrderInfo; import at.ac.tuwien.sbc.valesriegler.types.OrderStatus; import at.ac.tuwien.sbc.valesriegler.waiter.actions.DeliverOrder; @@ -46,7 +47,9 @@ public class CookedOrders implements MessageListener { log.debug("Received: " + orderinfo); // generate random delay - Thread.sleep((long) (Math.random() * 10000)); + if (!Util.runSimulation) { + Thread.sleep((long) (Math.random() * 10000)); + } ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(waiter.getCONNECTSTRING()); Connection connection = connectionFactory.createConnection(); diff --git a/src/main/java/at/ac/tuwien/sbc/valesriegler/waiter/jms/messageListeners/WantADelivery.java b/src/main/java/at/ac/tuwien/sbc/valesriegler/waiter/jms/messageListeners/WantADelivery.java index e9d0f0d..3e02f9c 100644 --- a/src/main/java/at/ac/tuwien/sbc/valesriegler/waiter/jms/messageListeners/WantADelivery.java +++ b/src/main/java/at/ac/tuwien/sbc/valesriegler/waiter/jms/messageListeners/WantADelivery.java @@ -13,6 +13,7 @@ import org.apache.activemq.ActiveMQConnectionFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import at.ac.tuwien.sbc.valesriegler.common.Util; import at.ac.tuwien.sbc.valesriegler.group.actions.DeliveryOrderRequest; import at.ac.tuwien.sbc.valesriegler.group.actions.DeliveryOrderResponse; import at.ac.tuwien.sbc.valesriegler.waiter.jms.JMSWaiter; @@ -45,7 +46,9 @@ public class WantADelivery implements MessageListener { log.debug("Received: " + dor); // generate random delay - Thread.sleep((long) (Math.random() * 10000)); + if (!Util.runSimulation) { + Thread.sleep((long) (Math.random() * 10000)); + } ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(waiter.getCONNECTSTRING()); Connection connection = connectionFactory.createConnection(); diff --git a/src/main/java/at/ac/tuwien/sbc/valesriegler/waiter/jms/messageListeners/WantToOrder.java b/src/main/java/at/ac/tuwien/sbc/valesriegler/waiter/jms/messageListeners/WantToOrder.java index 77f4711..78a0ec8 100644 --- a/src/main/java/at/ac/tuwien/sbc/valesriegler/waiter/jms/messageListeners/WantToOrder.java +++ b/src/main/java/at/ac/tuwien/sbc/valesriegler/waiter/jms/messageListeners/WantToOrder.java @@ -13,6 +13,7 @@ import org.apache.activemq.ActiveMQConnectionFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import at.ac.tuwien.sbc.valesriegler.common.Util; import at.ac.tuwien.sbc.valesriegler.group.actions.OrderRequest; import at.ac.tuwien.sbc.valesriegler.group.actions.OrderResponse; import at.ac.tuwien.sbc.valesriegler.waiter.jms.JMSWaiter; @@ -45,7 +46,9 @@ public class WantToOrder implements MessageListener { log.debug("Received: " + orderrequest); // generate random delay - Thread.sleep((long) (Math.random() * 10000)); + if (!Util.runSimulation) { + Thread.sleep((long) (Math.random() * 10000)); + } ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(waiter.getCONNECTSTRING()); Connection connection = connectionFactory.createConnection(); diff --git a/src/main/java/at/ac/tuwien/sbc/valesriegler/waiter/jms/messageListeners/WantToPay.java b/src/main/java/at/ac/tuwien/sbc/valesriegler/waiter/jms/messageListeners/WantToPay.java index 6776695..b89c6b3 100644 --- a/src/main/java/at/ac/tuwien/sbc/valesriegler/waiter/jms/messageListeners/WantToPay.java +++ b/src/main/java/at/ac/tuwien/sbc/valesriegler/waiter/jms/messageListeners/WantToPay.java @@ -13,6 +13,7 @@ import org.apache.activemq.ActiveMQConnectionFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import at.ac.tuwien.sbc.valesriegler.common.Util; import at.ac.tuwien.sbc.valesriegler.group.actions.PayRequest; import at.ac.tuwien.sbc.valesriegler.group.actions.PayResponse; import at.ac.tuwien.sbc.valesriegler.waiter.jms.JMSWaiter; @@ -45,7 +46,9 @@ public class WantToPay implements MessageListener { log.debug("Received: " + payrequest); // generate random delay - Thread.sleep((long) (Math.random() * 10000)); + if (!Util.runSimulation) { + Thread.sleep((long) (Math.random() * 10000)); + } ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(waiter.getCONNECTSTRING()); Connection connection = connectionFactory.createConnection(); diff --git a/src/main/java/at/ac/tuwien/sbc/valesriegler/waiter/jms/messageListeners/WantToSitAtTable.java b/src/main/java/at/ac/tuwien/sbc/valesriegler/waiter/jms/messageListeners/WantToSitAtTable.java index a62e151..71c9cb7 100644 --- a/src/main/java/at/ac/tuwien/sbc/valesriegler/waiter/jms/messageListeners/WantToSitAtTable.java +++ b/src/main/java/at/ac/tuwien/sbc/valesriegler/waiter/jms/messageListeners/WantToSitAtTable.java @@ -14,6 +14,7 @@ import org.apache.activemq.ActiveMQConnectionFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import at.ac.tuwien.sbc.valesriegler.common.Util; import at.ac.tuwien.sbc.valesriegler.group.actions.TableRequest; import at.ac.tuwien.sbc.valesriegler.group.actions.TableResponse; import at.ac.tuwien.sbc.valesriegler.types.Table; @@ -47,7 +48,9 @@ public class WantToSitAtTable implements MessageListener { log.debug("Received: " + tablerequest); // generate random delay - Thread.sleep((long) (Math.random() * 10000)); + if (!Util.runSimulation) { + Thread.sleep((long) (Math.random() * 10000)); + } ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(waiter.getCONNECTSTRING()); Connection connection = connectionFactory.createConnection(); -- 2.43.0