You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by da...@apache.org on 2004/11/04 23:09:43 UTC

svn commit: rev 56621 - in geronimo/trunk/modules: kernel/src/java/org/apache/geronimo/kernel system/src/java/org/apache/geronimo/system/serverinfo

Author: dain
Date: Thu Nov  4 14:09:42 2004
New Revision: 56621

Modified:
   geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/Kernel.java
   geronimo/trunk/modules/system/src/java/org/apache/geronimo/system/serverinfo/ServerInfo.java
Log:
http://nagoya.apache.org/jira/browse/GERONIMO-431
ServerInfo no longer returns the guessed baseDirectory from getBaseDirectory
The only way to interact with the real base directory is via a resolve method


Modified: geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/Kernel.java
==============================================================================
--- geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/Kernel.java	(original)
+++ geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/kernel/Kernel.java	Thu Nov  4 14:09:42 2004
@@ -76,29 +76,86 @@
 
     /**
      * The JMX name used by a Kernel to register itself when it boots.
+     * todo drop "geronimo.boot:" from this name so the kernel shows up in the kernel default domain
      */
     public static final ObjectName KERNEL = JMXUtil.getObjectName("geronimo.boot:role=Kernel");
 
+    /**
+     * Index of kernel (Weak) references by kernel name
+     */
     private static final Map kernels = new HashMap();
+
+    /**
+     * ReferenceQueue that watches the weak references to our kernels
+     */
     private static final ReferenceQueue queue = new ReferenceQueue();
+
+    /**
+     * Helper objects for invoke and getAttribute
+     */
+    private static final String[] NO_TYPES = new String[0];
+    private static final Object[] NO_ARGS = new Object[0];
+
+    /**
+     * Name of the configuration manager
+     * todo drop "geronimo.boot:" from this name so the configuration manger shows up in the kernel default domain
+     */
+    private static final ObjectName CONFIGURATION_MANAGER_NAME = JMXUtil.getObjectName("geronimo.boot:role=ConfigurationManager");
+
+    /**
+     * Te pattern we use to find all the configuation stores registered with the kernel
+     */
+    private static final ObjectName CONFIGURATION_STORE_PATTERN = JMXUtil.getObjectName("*:role=ConfigurationStore,*");
+
+    /**
+     * Name of this kernel
+     */
     private final String kernelName;
+
+    /**
+     * JMX domain name of this kernel
+     */
     private final String domainName;
 
+    /**
+     * The log
+     */
     private Log log;
+
+    /**
+     * Is this kernel running?
+     */
     private boolean running;
+
+    /**
+     * The timestamp when the kernel was started
+     */
     private Date bootTime;
+
+    /**
+     * The MBean server used by this kernel
+     */
     private MBeanServer mbServer;
+
+    /**
+     * Listeners for when the kernel shutdown
+     */
     private LinkedList shutdownHooks = new LinkedList();
 
+    /**
+     * This manager is used by the kernel to manage dependencies between gbeans
+     */
     private DependencyManager dependencyManager;
 
+    /**
+     * The kernel uses this manager to load configurations which are collections of GBeans
+     */
     private ConfigurationManager configurationManager;
-    private GBeanMBean configurationManagerGBean;
 
-    private static final String[] NO_TYPES = new String[0];
-    private static final Object[] NO_ARGS = new Object[0];
-    private static final ObjectName CONFIGURATION_MANAGER_NAME = JMXUtil.getObjectName("geronimo.boot:role=ConfigurationManager");
-    private static final ObjectName CONFIGURATION_STORE_PATTERN = JMXUtil.getObjectName("*:role=ConfigurationStore,*");
+    /**
+     * The GBeanMbean that wraps the configuration manager
+     */
+    private GBeanMBean configurationManagerGBean;
 
     /**
      * No-arg constructor allowing this class to be used as a GBean reference.
@@ -111,10 +168,11 @@
     /**
      * Construct a Kernel which does not have a config store.
      *
-     * @param domainName the domain name to be used for the JMX MBeanServer
+     * @param kernelName the domain name to be used for the JMX MBeanServer
      */
-    public Kernel(String domainName) {
-        this(domainName, domainName);
+    public Kernel(String kernelName) {
+        this.kernelName = kernelName;
+        this.domainName = kernelName;
     }
 
     /**
@@ -122,6 +180,8 @@
      *
      * @param kernelName the name of the kernel that uniquely indentifies the kernel in a VM
      * @param domainName the domain name to be used for the JMX MBeanServer
+     * @deprecated we are dropping the ability to have multiple kernels in a single mbean server, as the kernels will
+     * stomp on each others namespace
      */
     public Kernel(String kernelName, String domainName) {
         this.kernelName = kernelName;
@@ -380,7 +440,6 @@
     }
 
     public int getConfigurationState(URI configID) throws NoSuchConfigException {
-        ConfigurationManager configurationManager = getConfigurationManager();
          try {
              ObjectName configName = Configuration.getConfigurationObjectName(configID);
              return ((Integer)getAttribute(configName, "state")).intValue();

Modified: geronimo/trunk/modules/system/src/java/org/apache/geronimo/system/serverinfo/ServerInfo.java
==============================================================================
--- geronimo/trunk/modules/system/src/java/org/apache/geronimo/system/serverinfo/ServerInfo.java	(original)
+++ geronimo/trunk/modules/system/src/java/org/apache/geronimo/system/serverinfo/ServerInfo.java	Thu Nov  4 14:09:42 2004
@@ -30,15 +30,19 @@
  * @version $Rev$ $Date$
  */
 public class ServerInfo {
+    private final String baseDirectory;
     private final File base;
     private final URI baseURI;
 
     public ServerInfo() {
+        baseDirectory = null;
         base = null;
         baseURI = null;
     }
 
     public ServerInfo(String baseDirectory) throws Exception {
+        this.baseDirectory = baseDirectory;
+
         // force load of server constants
         ServerConstants.getVersion();
 
@@ -83,7 +87,7 @@
     }
 
     public String getBaseDirectory() {
-        return base.getAbsolutePath();
+        return baseDirectory;
     }
 
     public String getVersion() {