User: user57  
  Date: 02/02/11 19:22:03

  Modified:    src/main/org/jboss/system Server.java ServiceController.java
                        ServiceControllerMBean.java
  Log:
   o Adding SafeObjectFactory, which simply makes ObjectNames and
     turns ant malformed exceptions into Errors.  This is used to
     create ObjectName OBJECT_NAME fields, so we don't have to keep
     creating new ObjectNames all the time.
   o MainDeployer & ServiceController use new ObjectName OBJECT_NAME
   o Updated refering classes to not wrap OBJECT_NAME with new ObjectName
   o Using MBeanProxy to talk to ServiceController (and MainDeployer
     in some areas).  MBeanProxy is a central location to put in that
     pesky JMX exception handling + is tidies up the code base.  Can
     evevntually optimize this to make it veru efficient too.
   o Putting org.jboss.util classes into lib/ext/jboss-util.jar and adding
     it to the bootlibraries, so that the core system components have access
     to these when loading (not just when running, aka after
     jboss-service.xml loads).
   * Need to clean up jboss-util, move deployable stuff out of it and such
     (they don't really belong there).
   o updated modules that needed util, to include jboss-util.jar in there
     external module config
  
  Revision  Changes    Path
  1.12      +58 -48    jboss/src/main/org/jboss/system/Server.java
  
  Index: Server.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss/src/main/org/jboss/system/Server.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- Server.java       11 Feb 2002 23:01:37 -0000      1.11
  +++ Server.java       12 Feb 2002 03:22:03 -0000      1.12
  @@ -32,14 +32,14 @@
    *      
    * @author <a href="mailto:[EMAIL PROTECTED]";>Marc Fleury</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>Jason Dillon</a>
  - * @version $Revision: 1.11 $
  + * @version $Revision: 1.12 $
    */
   public class Server
  -    implements ServerMBean
  +   implements ServerMBean
   {
      /** Class logger */
      private static final BootstrapLogger log = 
  -       BootstrapLogger.getLogger(Server.class);
  +      BootstrapLogger.getLogger(Server.class);
      
      /** Container for version information. */
      private final Version version = Version.getInstance();
  @@ -71,11 +71,11 @@
   
         this.config = config;
         if (debug) {
  -       log.debug("Using config: " + config);
  +      log.debug("Using config: " + config);
         }
         
         log.info("JBoss (MX MicroKernel) " + 
  -         version + " [" + version.getName() + "]");
  +               version + " [" + version.getName() + "]");
         
         // remeber when we we started
         started = new Date();
  @@ -84,35 +84,35 @@
         // Create the MBeanServer
         server = MBeanServerFactory.createMBeanServer(config.getDomain());
         if (debug) {
  -       log.debug("Created MBeanServer: " + server);
  +      log.debug("Created MBeanServer: " + server);
         }
         
         String systemDomain = server.getDefaultDomain() + ".system";
         if (debug) {
  -       log.debug("Using system domain: " + systemDomain);
  +      log.debug("Using system domain: " + systemDomain);
         }
         
         // Register server components
         server.registerMBean(this,
  -         new ObjectName(systemDomain,"service", "Server"));
  +                           new ObjectName(systemDomain,"service", "Server"));
         server.registerMBean(config,
  -         new ObjectName(systemDomain,"service", "ServerConfig"));
  +                           new ObjectName(systemDomain,"service", "ServerConfig"));
         
         // Initialize the MBean libraries repository
         server.registerMBean(ServiceLibraries.getLibraries(),
  -         new ObjectName(systemDomain, "service", "ServiceLibraries"));
  +                           new ObjectName(systemDomain, "service", 
"ServiceLibraries"));
         
         // Initialize spine boot libraries
         initBootLibraries();
         
         // Create MBeanClassLoader for the base system
         ObjectName loaderName = 
  -       new ObjectName(systemDomain, "service", "ServiceClassLoader");
  +      new ObjectName(systemDomain, "service", "ServiceClassLoader");
         
         MBeanClassLoader mcl = new MBeanClassLoader(loaderName);
         server.registerMBean(mcl, loaderName);
         if (debug) {
  -       log.debug("Registered service classloader: " + loaderName);
  +      log.debug("Registered service classloader: " + loaderName);
         }
         
         // Set ServiceClassLoader as classloader for the construction of
  @@ -121,8 +121,8 @@
         
         // Setup logging
         server.createMBean("org.jboss.logging.Log4jService", 
  -         new ObjectName(systemDomain, "service", "Logging"),
  -         loaderName);
  +                         new ObjectName(systemDomain, "service", "Logging"),
  +                         loaderName);
         
         log.debug("Logging has been initialized");
         
  @@ -136,33 +136,33 @@
         
         // General Purpose Architecture information
         server.createMBean("org.jboss.system.Info",
  -         new ObjectName(systemDomain, "service", "Info"),
  -         loaderName);
  +                         new ObjectName(systemDomain, "service", "Info"),
  +                         loaderName);
         
         // Service Controller
         ObjectName controllerName = 
  -      server.createMBean("org.jboss.system.ServiceController", 
  -         new ObjectName(systemDomain, "service", "ServiceController"),
  -         loaderName).getObjectName();
  +         server.createMBean("org.jboss.system.ServiceController", 
  +                            new ObjectName(systemDomain, "service", 
"ServiceController"),
  +                            loaderName).getObjectName();
         
         if (debug) {
  -       log.debug("Registered service controller: " + controllerName);
  +      log.debug("Registered service controller: " + controllerName);
         }
         
         // Install the shutdown hook
         shutdownHook = new ShutdownHook(controllerName);
         try {
  -       Runtime.getRuntime().addShutdownHook(shutdownHook);
  -       log.debug("Shutdown hook added");
  +      Runtime.getRuntime().addShutdownHook(shutdownHook);
  +      log.debug("Shutdown hook added");
         }
         catch (Exception e) {
  -       log.warn("Failed to add shutdown hook", e);
  +      log.warn("Failed to add shutdown hook", e);
         }
         
         // Deployer
         ObjectName mainDeployer = 
         server.createMBean("org.jboss.deployment.MainDeployer",
  -                         new 
ObjectName(org.jboss.deployment.MainDeployerMBean.OBJECT_NAME),
  +                         null,
                            loaderName).getObjectName();
         
         // SAR Deployer
  @@ -173,9 +173,9 @@
         
         // Ok, now do a first deploy of JBoss' jboss-service.xml
         server.invoke(mainDeployer, 
  -         "deploy", 
  -         new Object[] {config.getConfigURL() + "jboss-service.xml"},
  -         new String[] {"java.lang.String"});
  +                    "deploy", 
  +                    new Object[] {config.getConfigURL() + "jboss-service.xml"},
  +                    new String[] {"java.lang.String"});
         
         // Start the main deployer thread
         server.invoke(mainDeployer, "start", new Object[]{}, new String[] {});
  @@ -197,6 +197,8 @@
       * Initialize the boot libraries.
       */
      private void initBootLibraries() throws Exception {
  +      boolean debug = log.isDebugEnabled();
  +      
         // Build the list of URL for the spine to boot
         List list = new ArrayList();
         
  @@ -219,6 +221,7 @@
                           return name.endsWith(".jar") || name.endsWith(".zip");
                        }
                     });
  +               
                  for (int j = 0; jars != null && j < jars.length; j++)
                  {
                     list.add(jars[j].getCanonicalFile().toURL());
  @@ -234,14 +237,21 @@
         list.add(config.getConfigURL());
         
         // Add the local path stuff
  -      list.add(new URL(config.getLibraryURL(), "log4j.jar"));
  -      list.add(new URL(config.getLibraryURL(), "jboss-spine.jar"));
  +      URL libURL = config.getLibraryURL();
  +      list.add(new URL(libURL, "log4j.jar"));
  +      list.add(new URL(libURL, "jboss-spine.jar"));
  +      list.add(new URL(libURL, "jboss-util.jar"));
  +      
  +      // list.add(new URL(config.getLibraryURL(), "jboss-proxy.jar"));
         
         // Create loaders for each URL
         Iterator iter = list.iterator();
  +      
         while (iter.hasNext()) {
            URL url = (URL)iter.next();
  -         log.debug("Creating loader for URL: " + url);
  +         if (debug) {
  +            log.debug("Creating loader for URL: " + url);
  +         }
            
            // Construction of URLClassLoader also registers with ServiceLibraries
            // Should probably remove this "side-effect" and make this more explicit
  @@ -263,22 +273,22 @@
   
         boolean exitOnShutdown = config.getExitOnShutdown();
         if (log.isDebugEnabled()) {
  -       log.debug("exitOnShutdown: " + exitOnShutdown);
  +         log.debug("exitOnShutdown: " + exitOnShutdown);
         }
   
         if (exitOnShutdown) {
  -       server.exit(0);
  +         server.exit(0);
         }
         else {
  -       // start in new thread to give positive
  -       // feedback to requesting client of success.
  -       new Thread() {
  -           public void run() {
  -             // just run the hook, don't call System.exit, as we may
  -             // be embeded in a vm that would not like that very much
  -             shutdownHook.run();
  -           }
  -       }.start();
  +         // start in new thread to give positive
  +         // feedback to requesting client of success.
  +         new Thread() {
  +            public void run() {
  +               // just run the hook, don't call System.exit, as we may
  +               // be embeded in a vm that would not like that very much
  +               shutdownHook.run();
  +            }
  +         }.start();
         }
      }
      
  @@ -303,7 +313,7 @@
       * code 1. 
       */
      public void exit() {
  -       exit(1);
  +      exit(1);
      }
   
      /** 
  @@ -385,8 +395,8 @@
      }
      
      public Long getMaxMemory() {
  -       // Uncomment when JDK 1.4 is the base JVM
  -       // return new Long(Runtime.getRuntime().maxMemory());
  +      // Uncomment when JDK 1.4 is the base JVM
  +      // return new Long(Runtime.getRuntime().maxMemory());
         return new Long(-1);
      }
      
  @@ -416,7 +426,7 @@
      ///////////////////////////////////////////////////////////////////////////
      
      private class ShutdownHook
  -       extends Thread
  +      extends Thread
      {
         /** The ServiceController which we will ask to shut things down with. */
         private ObjectName contollerName;
  @@ -448,9 +458,9 @@
            {
               // get the deployed objects from ServiceController
               server.invoke(contollerName,
  -               "shutdown",
  -               new Object[0],
  -               new String[0]);
  +                          "shutdown",
  +                          new Object[0],
  +                          new String[0]);
            }
            catch (MBeanException e)
            {
  
  
  
  1.26      +2 -2      jboss/src/main/org/jboss/system/ServiceController.java
  
  Index: ServiceController.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss/src/main/org/jboss/system/ServiceController.java,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -r1.25 -r1.26
  --- ServiceController.java    10 Feb 2002 17:42:35 -0000      1.25
  +++ ServiceController.java    12 Feb 2002 03:22:03 -0000      1.26
  @@ -42,7 +42,7 @@
   * @see org.jboss.system.Service
   * @author <a href="mailto:[EMAIL PROTECTED]";>Marc Fleury</a>
   * @author <a href="mailto:[EMAIL PROTECTED]";>David Jencks</a>
  -* @version $Revision: 1.25 $ <p>
  +* @version $Revision: 1.26 $ <p>
   *
   * <b>Revisions:</b> <p>
   *
  @@ -505,7 +505,7 @@
         configurator = new ServiceConfigurator(server);
         
         log.info("Controller MBean online");
  -      return name == null ? new ObjectName(OBJECT_NAME) : name;
  +      return name == null ? OBJECT_NAME : name;
      }
      
      public void postRegister(Boolean registrationDone)
  
  
  
  1.8       +6 -2      jboss/src/main/org/jboss/system/ServiceControllerMBean.java
  
  Index: ServiceControllerMBean.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/jboss/src/main/org/jboss/system/ServiceControllerMBean.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- ServiceControllerMBean.java       3 Jan 2002 04:01:00 -0000       1.7
  +++ ServiceControllerMBean.java       12 Feb 2002 03:22:03 -0000      1.8
  @@ -12,6 +12,8 @@
   import org.w3c.dom.Element;
   import org.w3c.dom.NodeList;
   
  +import org.jboss.util.SafeObjectNameFactory;
  +
   /** 
    * This is the main Service Controller API.
    * 
  @@ -21,7 +23,7 @@
    * @see Service
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Marc Fleury</a>
  - * @version $Revision: 1.7 $
  + * @version $Revision: 1.8 $
    *
    * <p><b>20010830 marc fleury:</b>
    * <ul>
  @@ -37,7 +39,9 @@
   public interface ServiceControllerMBean
   {
      /** The default object name. */
  -   String OBJECT_NAME = "jboss.system:service=ServiceController";
  +    ObjectName OBJECT_NAME = SafeObjectNameFactory.create("jboss.system", 
  +                                                       "service", 
  +                                                       "ServiceController");
   
      /** Install a service, create the MBean and configure it**/
      ObjectName install(Element mbean) throws Exception;
  
  
  

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to