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)) {