You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2012/03/02 11:13:19 UTC

svn commit: r1296110 - in /openejb/trunk/openejb: container/openejb-core/src/main/java/org/apache/openejb/core/mdb/ container/openejb-core/src/test/java/org/apache/openejb/core/stateless/ server/openejb-server/src/main/java/org/apache/openejb/server/

Author: rmannibucau
Date: Fri Mar  2 10:13:18 2012
New Revision: 1296110

URL: http://svn.apache.org/viewvc?rev=1296110&view=rev
Log:
enhancing service manager log when starting and taking care to use openejb MBeasnServer and not directly the platform one

Modified:
    openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/mdb/MdbContainer.java
    openejb/trunk/openejb/container/openejb-core/src/test/java/org/apache/openejb/core/stateless/StatelessInvocationStatsTest.java
    openejb/trunk/openejb/server/openejb-server/src/main/java/org/apache/openejb/server/SimpleServiceManager.java

Modified: openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/mdb/MdbContainer.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/mdb/MdbContainer.java?rev=1296110&r1=1296109&r2=1296110&view=diff
==============================================================================
--- openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/mdb/MdbContainer.java (original)
+++ openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/mdb/MdbContainer.java Fri Mar  2 10:13:18 2012
@@ -261,7 +261,7 @@ public class MdbContainer implements Rpc
             if (endpointFactory != null) {
                 resourceAdapter.endpointDeactivation(endpointFactory, endpointFactory.getActivationSpec());
 
-                MBeanServer server = ManagementFactory.getPlatformMBeanServer();
+                MBeanServer server = LocalMBeanServer.get();
                 for (ObjectName objectName : endpointFactory.jmxNames) {
                     try {
                         server.unregisterMBean(objectName);

Modified: openejb/trunk/openejb/container/openejb-core/src/test/java/org/apache/openejb/core/stateless/StatelessInvocationStatsTest.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/test/java/org/apache/openejb/core/stateless/StatelessInvocationStatsTest.java?rev=1296110&r1=1296109&r2=1296110&view=diff
==============================================================================
--- openejb/trunk/openejb/container/openejb-core/src/test/java/org/apache/openejb/core/stateless/StatelessInvocationStatsTest.java (original)
+++ openejb/trunk/openejb/container/openejb-core/src/test/java/org/apache/openejb/core/stateless/StatelessInvocationStatsTest.java Fri Mar  2 10:13:18 2012
@@ -26,6 +26,7 @@ import org.apache.openejb.config.Configu
 import org.apache.openejb.core.ivm.naming.InitContextFactory;
 import org.apache.openejb.jee.EjbJar;
 import org.apache.openejb.jee.StatelessBean;
+import org.apache.openejb.monitoring.LocalMBeanServer;
 
 import javax.annotation.PostConstruct;
 import javax.annotation.PreDestroy;
@@ -140,7 +141,7 @@ public class StatelessInvocationStatsTes
         bean.green();
         bean.blue();
 
-        MBeanServer server = ManagementFactory.getPlatformMBeanServer();
+        MBeanServer server = LocalMBeanServer.get();
         ObjectName invocationsName = new ObjectName("openejb.management:J2EEServer=openejb,J2EEApplication=null,EJBModule=StatsModule,StatelessSessionBean=CounterBean,j2eeType=Invocations,name=CounterBean");
 
         // Grab the mbeanInfo and check the expected attributes exist and have the correct return types and parameters

Modified: openejb/trunk/openejb/server/openejb-server/src/main/java/org/apache/openejb/server/SimpleServiceManager.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/server/openejb-server/src/main/java/org/apache/openejb/server/SimpleServiceManager.java?rev=1296110&r1=1296109&r2=1296110&view=diff
==============================================================================
--- openejb/trunk/openejb/server/openejb-server/src/main/java/org/apache/openejb/server/SimpleServiceManager.java (original)
+++ openejb/trunk/openejb/server/openejb-server/src/main/java/org/apache/openejb/server/SimpleServiceManager.java Fri Mar  2 10:13:18 2012
@@ -17,6 +17,7 @@
 package org.apache.openejb.server;
 
 import org.apache.openejb.loader.SystemInstance;
+import org.apache.openejb.monitoring.LocalMBeanServer;
 import org.apache.openejb.monitoring.ManagedMBean;
 import org.apache.openejb.monitoring.ObjectNameBuilder;
 import org.apache.openejb.util.LogCategory;
@@ -26,7 +27,6 @@ import org.apache.xbean.finder.ResourceF
 import javax.management.MBeanServer;
 import javax.management.ObjectName;
 import java.io.IOException;
-import java.lang.management.ManagementFactory;
 import java.net.InetAddress;
 import java.util.Iterator;
 import java.util.List;
@@ -131,7 +131,7 @@ public class SimpleServiceManager extend
 
         // register the mbean
         try {
-            ManagementFactory.getPlatformMBeanServer().registerMBean(new ManagedMBean(registry), getObjectName());
+            LocalMBeanServer.get().registerMBean(new ManagedMBean(registry), getObjectName());
         } catch (Throwable e) {
             logger.error("Failed to register 'openejb' MBean", e);
         }
@@ -144,40 +144,52 @@ public class SimpleServiceManager extend
 
         List<ServerService> enabledServers = initServers(availableServices);
 
-        daemons = (ServerService[]) enabledServers.toArray(new ServerService[]{});
+        daemons = enabledServers.toArray(new ServerService[]{});
     }
 
     @Override
     public synchronized void start(boolean block) throws ServiceException {
         boolean display = SystemInstance.get().getOptions().get("openejb.nobanner", (String) null) == null;
 
-        if (display) {
-            LOGGER.info("  ** Starting Services **");
-            printRow("NAME", "IP", "PORT");
-        }
+        // starting then displaying to get a more relevant log
 
+        Exception[] errors = new Exception[daemons.length];
         for (int i = 0; i < daemons.length; i++) {
             ServerService d = daemons[i];
+            LOGGER.info("Starting service " + d.getName());
             try {
                 d.start();
+                errors[i] = null;
+                LOGGER.info("Started service " + d.getName());
+            } catch (Exception e) {
+                errors[i] = e;
+                LOGGER.info("Can't start service " + d.getName(), e);
+            }
+        }
+
+        if (display) {
+            LOGGER.info("  ** Bound Services **");
+            printRow("NAME", "IP", "PORT");
+        }
+        for (int i = 0; i < daemons.length; i++) {
+            final ServerService d = daemons[i];
+            if (errors[i] == null) {
                 if (display && d.getPort() != -1) {
                     printRow(d.getName(), d.getIP(), d.getPort() + "");
                 }
-            } catch (Exception e) {
-                logger.fatal("Service Start Failed: " + d.getName() + " " + d.getIP() + " " + d.getPort() + ": " + e.getMessage());
+            } else {
+                logger.fatal("Service Start Failed: " + d.getName() + " " + d.getIP() + " " + d.getPort() + ": " + errors[i].getMessage());
                 if (display) {
                     printRow(d.getName(), "----", "FAILED");
                 }
             }
         }
+
         if (display) {
             LOGGER.info("-------");
             LOGGER.info("Ready!");
         }
 
-        System.out.println("Ready!");
-        System.out.flush();
-
         if (!block) {
             return;
         }
@@ -220,7 +232,7 @@ public class SimpleServiceManager extend
         // De-register the mbean
         try {
 
-            final MBeanServer server = ManagementFactory.getPlatformMBeanServer();
+            final MBeanServer server = LocalMBeanServer.get();
             final ObjectName objectName = getObjectName();
 
             if (server.isRegistered(objectName)) {