You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2007/08/29 05:12:28 UTC

svn commit: r570624 - /openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/OpenEJB.java

Author: dblevins
Date: Tue Aug 28 20:12:28 2007
New Revision: 570624

URL: http://svn.apache.org/viewvc?rev=570624&view=rev
Log:
Create an exception with the time when the container is initialized so if someone tries to initialize it again, we can report exactly when it was initalized and by what code.

Modified:
    openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/OpenEJB.java

Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/OpenEJB.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/OpenEJB.java?rev=570624&r1=570623&r2=570624&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/OpenEJB.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/OpenEJB.java Tue Aug 28 20:12:28 2007
@@ -49,6 +49,7 @@
     
     public static class Instance {
         private static Messages messages = new Messages("org.apache.openejb.util.resources");
+        private final Throwable initialized;
 
         /**
          * 1 usage
@@ -62,7 +63,7 @@
          * 2 usages
          */
         public Instance(Properties initProps, ApplicationServer appServer) throws OpenEJBException {
-
+            initialized = new Exception("Initialized at "+new Date()).fillInStackTrace();
 
             Logger logger = Logger.getInstance(LogCategory.OPENEJB_STARTUP, "org.apache.openejb.util.resources");
 
@@ -252,10 +253,15 @@
                 System.out.println(messages.message("startup.ready"));
             }
         }
+
+        public Throwable getInitialized() {
+            return initialized;
+        }
     }
 
     public static void destroy() {
         instance = null;
+        SystemInstance.get().removeComponent(ContainerSystem.class);
     }
 
     /**
@@ -274,9 +280,15 @@
      */
     public static void init(Properties initProps, ApplicationServer appServer) throws OpenEJBException {
         if (isInitialized()) {
-            String msg = messages.message("startup.alreadyInitialized");
-            logger.error(msg);
-            throw new OpenEJBException(msg);
+            if (instance != null){
+                String msg = messages.message("startup.alreadyInitialized");
+                logger.error(msg, instance.initialized);
+                throw new OpenEJBException(msg, instance.initialized);
+            } else {
+                String msg = messages.message("startup.alreadyInitialized");
+                logger.error(msg);
+                throw new OpenEJBException(msg);
+            }
         } else {
             instance = new Instance(initProps, appServer);
         }