User: salborini
Date: 00/11/15 17:32:45
Modified: jetty/src/main/org/jboss/jetty JettyService.java
Log:
- don't use JETTY_HOME anymore. Guess it from the classpath
- load properties (sax parser) from jetty.properties
Revision Changes Path
1.4 +31 -10 contrib/jetty/src/main/org/jboss/jetty/JettyService.java
Index: JettyService.java
===================================================================
RCS file:
/products/cvs/ejboss/contrib/jetty/src/main/org/jboss/jetty/JettyService.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- JettyService.java 2000/11/15 23:19:00 1.3
+++ JettyService.java 2000/11/16 01:32:45 1.4
@@ -8,6 +8,9 @@
package org.jboss.jetty;
import java.net.URL;
+import java.io.File;
+import java.io.InputStream;
+import java.io.IOException;
import java.util.Hashtable;
import javax.management.*;
@@ -27,7 +30,7 @@
*
* @see <related>
* @author <a href="mailto:[EMAIL PROTECTED]">Julian Gosnell</a>
- * @version $Revision: 1.3 $
+ * @version $Revision: 1.4 $
*/
public class JettyService extends ServiceMBeanSupport
implements JettyServiceMBean, MBeanRegistration
@@ -51,19 +54,37 @@
try
{
// get hold of JETTY_HOME...
- _home = System.getProperty("jetty.home");
- if (_home == null)
- {
- Logger.log("failed");
- Logger.log("System property jetty.home not found. Be sure to set JETTY_HOME to
the home of Jetty 3+");
- throw new Exception("start failed");
- }
-
+ Class jettyClass;
+ try {
+ jettyClass = Class.forName("com.mortbay.HTTP.HttpServer");
+
+ } catch (Exception e) {
+
+ Logger.log("failed");
+ Logger.log("Jetty not found. You need jetty 3+");
+ throw new Exception("start failed");
+ }
+
+ URL jettyUrl = jettyClass.getProtectionDomain().getCodeSource().getLocation();
+ _home = new File(new File(jettyUrl.getFile()).getParent()).getParent();
+ System.setProperty("jetty.home", _home);
+
// connect Jetty and JBoss log models...
try{_logSink.initialize(_log);}catch(Exception e){e.printStackTrace();}
_logSink.start();
com.mortbay.Util.Log.instance().add(_logSink);
+ // load properties (xml parser)
+ InputStream propertiesIn =
getClass().getClassLoader().getResourceAsStream("jetty.properties");
+
+ if ( propertiesIn == null ) {
+
+ throw new IOException("jetty.properties missing");
+ }
+
+ System.getProperties().load(propertiesIn);
+
+
try
{
// start a Jetty...
@@ -163,7 +184,7 @@
String warDir=warUrl+(warUrl.endsWith("/")?"":"/");
// give Jetty it's correct default resource file - should be parameterised...
String defaultResource=_home+"/etc/webdefault.xml";
-
+
System.out.println("About to deploy - "+contextPath+" maps to "+warDir);
WebApplicationContext app = _server.addWebApplication(contextPath,
warDir,