You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by db...@apache.org on 2005/11/22 10:16:08 UTC

svn commit: r348133 - in /geronimo/gbuild/trunk/gbuild-agent/src/main/java/org/apache/geronimo/gbuild/agent: AbstractContinuumBuildAgent.java BuildResultsContinuumAgent.java PingMonitorAgent.java

Author: dblevins
Date: Tue Nov 22 01:16:01 2005
New Revision: 348133

URL: http://svn.apache.org/viewcvs?rev=348133&view=rev
Log:
Strengthened the algorithm for pulling results messages.
Increased the ping delay.
Lowered the log level for the ping monitor

Modified:
    geronimo/gbuild/trunk/gbuild-agent/src/main/java/org/apache/geronimo/gbuild/agent/AbstractContinuumBuildAgent.java
    geronimo/gbuild/trunk/gbuild-agent/src/main/java/org/apache/geronimo/gbuild/agent/BuildResultsContinuumAgent.java
    geronimo/gbuild/trunk/gbuild-agent/src/main/java/org/apache/geronimo/gbuild/agent/PingMonitorAgent.java

Modified: geronimo/gbuild/trunk/gbuild-agent/src/main/java/org/apache/geronimo/gbuild/agent/AbstractContinuumBuildAgent.java
URL: http://svn.apache.org/viewcvs/geronimo/gbuild/trunk/gbuild-agent/src/main/java/org/apache/geronimo/gbuild/agent/AbstractContinuumBuildAgent.java?rev=348133&r1=348132&r2=348133&view=diff
==============================================================================
--- geronimo/gbuild/trunk/gbuild-agent/src/main/java/org/apache/geronimo/gbuild/agent/AbstractContinuumBuildAgent.java (original)
+++ geronimo/gbuild/trunk/gbuild-agent/src/main/java/org/apache/geronimo/gbuild/agent/AbstractContinuumBuildAgent.java Tue Nov 22 01:16:01 2005
@@ -294,6 +294,7 @@
         private final Session session;
         private final MessageProducer producer;
         private final Logger logger;
+        private int pingInterval = 1000*60*5; // five minutes
 
         public Ping(Session session, Logger logger) throws JMSException {
             this.session = session;
@@ -333,7 +334,7 @@
                     getLogger().warn("Ping thread killed ("+e.getMessage()+")");
                 }
                 try {
-                    Thread.sleep(60000);
+                    Thread.sleep(pingInterval);
                 } catch (InterruptedException e) {
                 }
             }

Modified: geronimo/gbuild/trunk/gbuild-agent/src/main/java/org/apache/geronimo/gbuild/agent/BuildResultsContinuumAgent.java
URL: http://svn.apache.org/viewcvs/geronimo/gbuild/trunk/gbuild-agent/src/main/java/org/apache/geronimo/gbuild/agent/BuildResultsContinuumAgent.java?rev=348133&r1=348132&r2=348133&view=diff
==============================================================================
--- geronimo/gbuild/trunk/gbuild-agent/src/main/java/org/apache/geronimo/gbuild/agent/BuildResultsContinuumAgent.java (original)
+++ geronimo/gbuild/trunk/gbuild-agent/src/main/java/org/apache/geronimo/gbuild/agent/BuildResultsContinuumAgent.java Tue Nov 22 01:16:01 2005
@@ -20,6 +20,7 @@
 import javax.jms.MessageConsumer;
 import javax.jms.Message;
 import javax.jms.ObjectMessage;
+import javax.jms.JMSException;
 import java.util.Map;
 
 /**
@@ -44,47 +45,55 @@
             getLogger().debug("coordinatorUrl " + coordinatorUrl);
             getLogger().debug("buildResultsTopic " + buildResultsTopic);
 
-            // Create a Session
-            Session session = getSession();
+            while (isRunning()) {
+                // Create a Session
+                Client client = getClient();
 
-            MessageConsumer resultsConsumer = createConsumer(session, buildResultsTopic);
+                Session session = client.getSession();
 
-            getLogger().info("Continuum Build Agent started and waiting for work.");
+                MessageConsumer resultsConsumer = createConsumer(session, buildResultsTopic);
 
-            while (isRunning()) {
-                // Wait for a message
-                Message message = resultsConsumer.receive(1000);
+                try {
+                    consumeMessages(client, resultsConsumer);
+                } catch (JMSException e) {
+                    getLogger().error("Agent recieved JMS Exception. ("+e.getMessage()+")");
+                }
+            }
 
-                if (message == null){
+        } catch (Exception e) {
+            getLogger().error("Agent failed.", e);
+        }
+    }
 
-                    continue;
+    private void consumeMessages(Client client, MessageConsumer resultsConsumer) throws JMSException {
+        while (client.isConnected() && isRunning()) {
+            // Wait for a message
+            Message message = resultsConsumer.receive(1000);
 
-                } else if (message instanceof ObjectMessage) {
+            if (message == null){
 
-                    try {
-                        getLogger().info("Message Received "+ message.getJMSMessageID() +" on "+ getConnection().getClientID()+":"+buildResultsTopic);
+                continue;
 
-                        ObjectMessage objectMessage = (ObjectMessage) message;
+            } else if (message instanceof ObjectMessage) {
 
-                        Map context = getMap(objectMessage, message);
+                try {
+                    getLogger().info("Message Received "+ message.getJMSMessageID() +" on "+ getConnection().getClientID()+":"+buildResultsTopic);
 
-                        execute(context);
+                    ObjectMessage objectMessage = (ObjectMessage) message;
 
-                        getLogger().info("Finished processing "+ message.getJMSMessageID());
+                    Map context = getMap(objectMessage, message);
 
-                    } catch (Exception e) {
-                        getLogger().error("Failed Processing message "+message.getJMSMessageID());
-                    }
+                    execute(context);
 
-                } else {
-                    getLogger().warn("Agent received incorrect message type: "+message.getClass().getName());
+                    getLogger().info("Finished processing "+ message.getJMSMessageID());
+
+                } catch (Exception e) {
+                    getLogger().error("Failed Processing message "+message.getJMSMessageID());
                 }
-            }
 
-            resultsConsumer.close();
-            session.close();
-        } catch (Exception e) {
-            getLogger().error("Agent failed.", e);
+            } else {
+                getLogger().warn("Agent received incorrect message type: "+message.getClass().getName());
+            }
         }
     }
 

Modified: geronimo/gbuild/trunk/gbuild-agent/src/main/java/org/apache/geronimo/gbuild/agent/PingMonitorAgent.java
URL: http://svn.apache.org/viewcvs/geronimo/gbuild/trunk/gbuild-agent/src/main/java/org/apache/geronimo/gbuild/agent/PingMonitorAgent.java?rev=348133&r1=348132&r2=348133&view=diff
==============================================================================
--- geronimo/gbuild/trunk/gbuild-agent/src/main/java/org/apache/geronimo/gbuild/agent/PingMonitorAgent.java (original)
+++ geronimo/gbuild/trunk/gbuild-agent/src/main/java/org/apache/geronimo/gbuild/agent/PingMonitorAgent.java Tue Nov 22 01:16:01 2005
@@ -54,7 +54,7 @@
                             continue;
                         } else if (message instanceof TextMessage) {
                             TextMessage textMessage = (TextMessage) message;
-                            getLogger().info("Ping "+ message.getJMSMessageID() +" : "+ textMessage.getText());
+                            getLogger().debug("Ping "+ message.getJMSMessageID() +" : "+ textMessage.getText());
                         } else {
                             getLogger().warn("Agent received incorrect message type: "+message.getClass().getName());
                         }