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