You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by js...@apache.org on 2008/09/12 20:28:56 UTC

svn commit: r694768 - in /tuscany/java/sca/modules/node-launcher/src/main/java/org/apache/tuscany/sca/node/launcher: DomainManagerLauncher.java NodeDaemonLauncher.java NodeLauncher.java

Author: jsdelfino
Date: Fri Sep 12 11:28:56 2008
New Revision: 694768

URL: http://svn.apache.org/viewvc?rev=694768&view=rev
Log:
Added a little more logic to restart the domain manager or a node when the user presses 'r', quit when the user presses 'q'.

Modified:
    tuscany/java/sca/modules/node-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/DomainManagerLauncher.java
    tuscany/java/sca/modules/node-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/NodeDaemonLauncher.java
    tuscany/java/sca/modules/node-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/NodeLauncher.java

Modified: tuscany/java/sca/modules/node-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/DomainManagerLauncher.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/node-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/DomainManagerLauncher.java?rev=694768&r1=694767&r2=694768&view=diff
==============================================================================
--- tuscany/java/sca/modules/node-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/DomainManagerLauncher.java (original)
+++ tuscany/java/sca/modules/node-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/DomainManagerLauncher.java Fri Sep 12 11:28:56 2008
@@ -80,44 +80,67 @@
         Object domainManager = null;
         ShutdownThread shutdown = null;
         try {
-            
-            // Start the domain manager
-            domainManager = launcher.createDomainManager();
-            try {
-                domainManager.getClass().getMethod("start").invoke(domainManager);
-            } catch (Exception e) {
-                logger.log(Level.SEVERE, "SCA Domain Manager could not be started", e);
-                throw e;
-            }
-            logger.info("SCA Domain Manager is now started.");
-            
-            // Install a shutdown hook
-            shutdown = new ShutdownThread(domainManager);
-            Runtime.getRuntime().addShutdownHook(shutdown);
-            
-            logger.info("Press enter to shutdown.");
-    
-            try {
-                System.in.read();
-            } catch (IOException e) {
+            while (true) {
+                
+                // Start the domain manager
+                domainManager = launcher.createDomainManager();
+                try {
+                    domainManager.getClass().getMethod("start").invoke(domainManager);
+                } catch (Exception e) {
+                    logger.log(Level.SEVERE, "SCA Domain Manager could not be started", e);
+                    throw e;
+                }
+                logger.info("SCA Domain Manager is now started.");
+                
+                // Install a shutdown hook
+                shutdown = new ShutdownThread(domainManager);
+                Runtime.getRuntime().addShutdownHook(shutdown);
                 
-                // Wait forever
-                Object lock = new Object();
-                synchronized(lock) {
-                    lock.wait();
+                logger.info("Press 'q' to quit, 'r' to restart.");
+                int k = 0;
+                try {
+                    while ((k != 'q') && (k != 'r')) {
+                        k = System.in.read();
+                    }
+                } catch (IOException e) {
+                    
+                    // Wait forever
+                    Object lock = new Object();
+                    synchronized(lock) {
+                        lock.wait();
+                    }
+                }
+
+                // Stop the domain manager
+                if (domainManager != null) {
+                    Object dm = domainManager;
+                    domainManager = null;
+                    stopDomainManager(dm);
+                }
+                
+                // Quit
+                if (k == 'q' ) {
+                    break;
                 }
             }
+        } catch (Exception e) {
+            // Stop the domain manager
+            if (domainManager != null) {
+                try {
+                    Object dm = domainManager;
+                    domainManager = null;
+                    stopDomainManager(dm);
+                } catch (Exception e2) {
+                }
+            }
+            throw e;
+            
         } finally {
             
             // Remove the shutdown hook
             if (shutdown != null) {
                 Runtime.getRuntime().removeShutdownHook(shutdown);
             }
-            
-            // Stop the domain manager
-            if (domainManager != null) {
-                stopDomainManager(domainManager);
-            }
         }
     }
 

Modified: tuscany/java/sca/modules/node-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/NodeDaemonLauncher.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/node-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/NodeDaemonLauncher.java?rev=694768&r1=694767&r2=694768&view=diff
==============================================================================
--- tuscany/java/sca/modules/node-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/NodeDaemonLauncher.java (original)
+++ tuscany/java/sca/modules/node-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/NodeDaemonLauncher.java Fri Sep 12 11:28:56 2008
@@ -69,43 +69,67 @@
         Object node = null;
         ShutdownThread shutdown = null;
         try {
-            
-            // Start the node
-            node = launcher.createNodeDaemon();
-            try {
-                node.getClass().getMethod("start").invoke(node);
-            } catch (Exception e) {
-                logger.log(Level.SEVERE, "SCA Node Daemon could not be started", e);
-                throw e;
-            }
-            logger.info("SCA Node Daemon is now started.");
-            
-            // Install a shutdown hook
-            shutdown = new ShutdownThread(node);
-            Runtime.getRuntime().addShutdownHook(shutdown);
-            
-            logger.info("Press enter to shutdown.");
-            try {
-                System.in.read();
-            } catch (IOException e) {
+            while (true) {
                 
-                // Wait forever
-                Object lock = new Object();
-                synchronized(lock) {
-                    lock.wait();
+                // Start the node
+                node = launcher.createNodeDaemon();
+                try {
+                    node.getClass().getMethod("start").invoke(node);
+                } catch (Exception e) {
+                    logger.log(Level.SEVERE, "SCA Node Daemon could not be started", e);
+                    throw e;
+                }
+                logger.info("SCA Node Daemon is now started.");
+                
+                // Install a shutdown hook
+                shutdown = new ShutdownThread(node);
+                Runtime.getRuntime().addShutdownHook(shutdown);
+                
+                logger.info("Press 'q' to quit, 'r' to restart.");
+                int k = 0;
+                try {
+                    while ((k != 'q') && (k != 'r')) {
+                        k = System.in.read();
+                    }
+                } catch (IOException e) {
+                    
+                    // Wait forever
+                    Object lock = new Object();
+                    synchronized(lock) {
+                        lock.wait();
+                    }
+                }
+
+                // Stop the node
+                if (node != null) {
+                    Object n = node;
+                    node = null;
+                    stopNode(n);
+                }
+                
+                // Quit
+                if (k == 'q' ) {
+                    break;
+                }
+            } 
+        } catch (Exception e) {
+            // Stop the node
+            if (node != null) {
+                try {
+                    Object n = node;
+                    node = null;
+                    stopNode(n);
+                } catch (Exception e2) {
                 }
             }
+            throw e;
+            
         } finally {
 
             // Remove the shutdown hook
             if (shutdown != null) {
                 Runtime.getRuntime().removeShutdownHook(shutdown);
             }
-            
-            // Stop the node
-            if (node != null) {
-                stopNode(node);
-            }
         }
     }
     

Modified: tuscany/java/sca/modules/node-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/NodeLauncher.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/node-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/NodeLauncher.java?rev=694768&r1=694767&r2=694768&view=diff
==============================================================================
--- tuscany/java/sca/modules/node-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/NodeLauncher.java (original)
+++ tuscany/java/sca/modules/node-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/NodeLauncher.java Fri Sep 12 11:28:56 2008
@@ -147,10 +147,12 @@
                 shutdown = new ShutdownThread(node);
                 Runtime.getRuntime().addShutdownHook(shutdown);
                 
-                logger.info("Press 'q' to shutdown, any other key to restart.");
+                logger.info("Press 'q' to quit, 'r' to restart.");
                 int k = 0;
                 try {
-                    k = System.in.read();
+                    while ((k != 'q') && (k != 'r')) {
+                        k = System.in.read();
+                    }
                 } catch (IOException e) {
                     
                     // Wait forever