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);
         }


Reply via email to