[jboss-cvs] JBossAS SVN: r86456 - projects/bootstrap/trunk/src/main/java/org/jboss/bootstrap.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Mar 30 02:27:52 EDT 2009
Author: ALRubinger
Date: 2009-03-30 02:27:52 -0400 (Mon, 30 Mar 2009)
New Revision: 86456
Modified:
projects/bootstrap/trunk/src/main/java/org/jboss/bootstrap/ServerLoader.java
Log:
[JBBOOT-19] Merge the explicit boot list from AS until the issue of $JBOSS_HOME/lib may all be put on the CP
Modified: projects/bootstrap/trunk/src/main/java/org/jboss/bootstrap/ServerLoader.java
===================================================================
--- projects/bootstrap/trunk/src/main/java/org/jboss/bootstrap/ServerLoader.java 2009-03-30 06:27:05 UTC (rev 86455)
+++ projects/bootstrap/trunk/src/main/java/org/jboss/bootstrap/ServerLoader.java 2009-03-30 06:27:52 UTC (rev 86456)
@@ -29,9 +29,11 @@
import java.net.URISyntaxException;
import java.net.URL;
import java.net.URLClassLoader;
+import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Properties;
+import java.util.Set;
import java.util.StringTokenizer;
import org.jboss.bootstrap.spi.Server;
@@ -76,6 +78,48 @@
*/
public class ServerLoader
{
+ /**
+ * The default list of boot libraries. Does not include
+ * the JAXP or JMX impl, users of this class should add the
+ * proper libraries.
+ * TODO: use vfs to list the root directory
+ * http://www.jboss.org/index.html?module=bb&op=viewtopic&t=153175
+ */
+ @Deprecated
+ public static final String[] DEFAULT_BOOT_LIBRARY_LIST = {
+ // Logging
+ "log4j-boot.jar",
+ "jboss-logging-spi.jar",
+ "jboss-logging-log4j.jar",
+ "jboss-logging-jdk.jar",
+ "jboss-logmanager.jar",
+ "jboss-logbridge.jar",
+ // Common jars
+ "jboss-common-core.jar",
+ "jboss-xml-binding.jar",
+ "jaxb-api.jar",
+ // Bootstrap
+ "jboss-bootstrap.jar",
+ // Microcontainer
+ "javassist.jar",
+ "jboss-reflect.jar",
+ "jboss-mdr.jar",
+ "jboss-dependency.jar",
+ "jboss-kernel.jar",
+ "jboss-metatype.jar",
+ "jboss-managed.jar",
+ // Fixme ClassLoading
+ "jboss-vfs.jar",
+ "jboss-classloading-spi.jar",
+ "jboss-classloader.jar",
+ "jboss-classloading.jar",
+ "jboss-classloading-vfs.jar",
+ // Fixme aop
+ "jboss-aop.jar",
+ "jboss-aop-mc-int.jar",
+ "trove.jar",
+ };
+
/** The default server type. */
public static final String DEFAULT_SERVER_TYPE = "org.jboss.bootstrap.microcontainer.ServerImpl";
@@ -123,6 +167,14 @@
// need library url to make boot urls list
libraryURL = new URL(homeURL, ServerConfig.LIBRARY_URL_SUFFIX);
}
+
+ // If the home URL begins with http add the webav and httpclient jars
+ if( homeURL.getProtocol().startsWith("http") == true )
+ {
+ this.addLibrary("webdavlib.jar");
+ this.addLibrary("commons-httpclient.jar");
+ this.addLibrary("commons-logging.jar");
+ }
}
/**
@@ -216,9 +268,9 @@
* Returns an array of URLs which will be used to load the
* core system and construct a new Server object instance.
* @return the urls
- * @throws IOException for a bad url or library access problem
+ * @throws MalformedURLException for a bad url
*/
- protected URL[] getBootClasspath() throws IOException, URISyntaxException
+ protected URL[] getBootClasspath() throws MalformedURLException, URISyntaxException
{
List<URL> list = new LinkedList<URL>();
@@ -235,18 +287,12 @@
list.add(url);
}
}
- // Scan the libraryURL using the VFS
else
{
- File libraryDir = new File(libraryURL.toURI());
- File[] jars = libraryDir.listFiles();
- if(jars != null)
+ for (String jar : DEFAULT_BOOT_LIBRARY_LIST)
{
- for(File jar : jars)
- {
- URL url = jar.toURL();
- list.add(url);
- }
+ URL url = new URL(libraryURL, jar);
+ list.add(url);
}
}
@@ -273,19 +319,17 @@
URL[] urls = getBootClasspath();
URLClassLoader classLoader = new NoAnnotationURLClassLoader(urls, parent);
Thread.currentThread().setContextClassLoader(classLoader);
-
- if(props.containsKey(""))
+
+ /*
+ // Log the boot URLs (uncomment to test)
+ StringBuffer sb = new StringBuffer("Boot URLs:\n");
+ for (URL url : urls)
{
- // Log the boot URLs (uncomment to test)
-
- StringBuffer sb = new StringBuffer("Boot URLs:\n");
- for(URL url : urls)
- {
- sb.append(url.toExternalForm());
- sb.append("\n");
- }
- System.out.println(sb);
+ sb.append(url.toExternalForm());
+ sb.append("\n");
}
+ System.out.println(sb);
+ */
// construct a new Server instance
String typename = props.getProperty(ServerConfig.SERVER_TYPE, DEFAULT_SERVER_TYPE);
@@ -312,10 +356,11 @@
throws Exception
{
// load the class first
- Class<Server> type = (Class<Server>) loader.loadClass(typename);
+ Class<?> type = loader.loadClass(typename);
// and then create a new instance
- Server server = type.newInstance();
+ Server server = (Server) type.newInstance();
return server;
}
}
+
More information about the jboss-cvs-commits
mailing list