[JMS] corrected benchmarking.
authorJan Vales <jan@jvales.net>
Mon, 10 Jun 2013 19:01:46 +0000 (21:01 +0200)
committerJan Vales <jan@jvales.net>
Mon, 10 Jun 2013 19:01:46 +0000 (21:01 +0200)
src/main/java/at/ac/tuwien/sbc/valesriegler/driver/jms/messageListeners/CookedDeliveryOrders.java
src/main/java/at/ac/tuwien/sbc/valesriegler/group/GroupAgent.java
src/main/java/at/ac/tuwien/sbc/valesriegler/group/jms/GroupJMSNACMsgListener.java
src/main/java/at/ac/tuwien/sbc/valesriegler/jms/nac/JMSNAC.java
src/main/resources/logback.xml

index dfde528739c38ca8ca810f36ce497b2fa659bcd9..10c09df2920c06a2641b498cddffac8b49829b13 100644 (file)
@@ -54,22 +54,25 @@ public class CookedDeliveryOrders implements MessageListener {
                                                OrderDeliveredInfo odi = new OrderDeliveredInfo(doi.getDeliveryGroupData(), driver.getId());
 
                                                // Deliver to destination broker
-                                               try {
-                                                       ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(Util.JMS_DELIVERY_DESTINATION);
-                                                       Connection connection = connectionFactory.createConnection();
-                                                       connection.start();
-                                                       log.debug("CookedDelivery:ActiveMQConnectionFactory::" + connection);
-
-                                                       Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-                                                       MessageProducer prod = session.createProducer(session.createQueue(addr));
-                                                       prod.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
-                                                       odi.getDeliveryGroupData().setDeliveryStatus(DeliveryStatus.DELIVERED);
-                                                       prod.send(session.createObjectMessage(odi));
-                                                       session.close();
-                                                       connection.close();
-                                                       delivered = true;
-                                               } catch (JMSException e) {
-                                                       log.error("EXCEPTION!", e);
+                                               if (!Util.runSimulation) {
+                                                       try {
+                                                               ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(
+                                                                               Util.JMS_DELIVERY_DESTINATION);
+                                                               Connection connection = connectionFactory.createConnection();
+                                                               connection.start();
+                                                               log.debug("CookedDelivery:ActiveMQConnectionFactory::" + connection);
+
+                                                               Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+                                                               MessageProducer prod = session.createProducer(session.createQueue(addr));
+                                                               prod.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
+                                                               odi.getDeliveryGroupData().setDeliveryStatus(DeliveryStatus.DELIVERED);
+                                                               prod.send(session.createObjectMessage(odi));
+                                                               session.close();
+                                                               connection.close();
+                                                               delivered = true;
+                                                       } catch (JMSException e) {
+                                                               log.error("EXCEPTION!", e);
+                                                       }
                                                }
 
                                                if (!delivered) {
@@ -82,18 +85,19 @@ public class CookedDeliveryOrders implements MessageListener {
                                                connection.start();
 
                                                Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-                                               MessageProducer prod = session.createProducer(session.createQueue("PizzeriaConnector"));
-                                               prod.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
-                                               prod.send(session.createObjectMessage(odi));
-                                               session.close();
-
-                                               session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-                                               prod = session.createProducer(session.createQueue("GroupConnector"));
+                                               MessageProducer prod = session.createProducer(session.createQueue("GroupConnector"));
                                                prod.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
                                                prod.send(session.createObjectMessage(odi));
                                                session.close();
-                                               connection.close();
 
+                                               if (!Util.runSimulation) {
+                                                       session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+                                                       prod = session.createProducer(session.createQueue("PizzeriaConnector"));
+                                                       prod.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
+                                                       prod.send(session.createObjectMessage(odi));
+                                                       session.close();
+                                                       connection.close();
+                                               }
                                        } else {
                                                log.warn("Received unknown Object: " + obj);
                                        }
index 096ed93c6443e3cb402204ef070bac4536a1f6e3..5e6c2fcbeaa625bc27656284e1edd8d52f9a356e 100644 (file)
@@ -1,5 +1,6 @@
 package at.ac.tuwien.sbc.valesriegler.group;
 
+import java.lang.management.ManagementFactory;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
@@ -61,7 +62,9 @@ public class GroupAgent {
                }
 
                String mw = args[0];
-               log.info("Middleware: " + mw);
+               log.warn("Middleware: " + mw);
+               log.warn("JVM: " + ManagementFactory.getRuntimeMXBean().getName());
+               log.warn("THREAD: " + Thread.currentThread().getName());
 
                if ("JMS".equalsIgnoreCase(mw)) {
                        Util.useJMS = true;
index 0d45921a48e9bb27333697f1df91884c7f416fae..61235bbccf9c86b812247a52e242ed368123fe2d 100644 (file)
@@ -51,11 +51,12 @@ public class GroupJMSNACMsgListener extends AbstractJMSNACMsgListener implements
                                        return;
 
                                } else if (obj instanceof BenchmarkStop) {
-                                       log.debug("Received: " + obj);
+                                       log.warn("Received: " + obj);
                                        for (String keys : JMSGroupConnector.getConnectors().keySet()) {
                                                JMSGroupConnector c = JMSGroupConnector.getConnector(keys);
                                                c.getConnection().close();
                                                GroupAgent.getInstance().getDeliveryModel().createStatistics();
+                                               GroupAgent.getJmsnac().stop();
                                        }
                                        return;
 
index 4605d6588aa36d637a8220503699b6b0a3329dce..02f403d8deae91f311118e5f8acff00a8392d84e 100644 (file)
@@ -49,4 +49,12 @@ public class JMSNAC {
                prod.send(session.createObjectMessage(msg));
                session.close();
        }
+
+       public void stop() {
+               try {
+                       connection.close();
+               } catch (JMSException e) {
+                       log.error("EXCEPTION!", e);
+               }
+       }
 }
index 21d6cda0a23be3c37dcbd1e0b9c54e0ecac1e37d..17889f689f0676ee2dc76f0954deb12db8d11a68 100644 (file)
@@ -7,12 +7,12 @@
 \r
        <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">\r
                <layout class="ch.qos.logback.classic.PatternLayout">\r
-                       <pattern>%-30(%d{HH:mm:ss.SSS} [%thread]) %-5level %logger{32} - %msg%n</pattern>\r
+                       <pattern>%-30(%d{HH:mm:ss.SSS} [%thread]) %-5level %logger{32} -.- %msg%n</pattern>\r
                </layout>\r
        </appender>\r
 \r
        <logger name="at.ac.tuwien">\r
-               <level value="debug" />\r
+               <level value="warn" />\r
        </logger>\r
 \r
        <root>\r