[Red5devs] [red5 commit] r3087 - in java/server/trunk/src/org/red5/server: service tomcat util
codesite-noreply at google.com
codesite-noreply at google.com
Sun Sep 21 17:38:29 PDT 2008
Author: mondain
Date: Sun Sep 21 17:36:52 2008
New Revision: 3087
Modified:
java/server/trunk/src/org/red5/server/service/Installer.java
java/server/trunk/src/org/red5/server/tomcat/TomcatLoader.java
java/server/trunk/src/org/red5/server/tomcat/TomcatVHostLoader.java
java/server/trunk/src/org/red5/server/util/FileUtil.java
Log:
Fixed installer for Mac when running in bootstrap mode external of Eclipse.
Modified: java/server/trunk/src/org/red5/server/service/Installer.java
==============================================================================
--- java/server/trunk/src/org/red5/server/service/Installer.java (original)
+++ java/server/trunk/src/org/red5/server/service/Installer.java Sun Sep 21
17:36:52 2008
@@ -223,7 +223,6 @@
// faster and it also works on macs ;)
byte[] buf = method.getResponseBody();
fos.write(buf);
- fos.close();
fos.flush();
result = true;
Modified: java/server/trunk/src/org/red5/server/tomcat/TomcatLoader.java
==============================================================================
--- java/server/trunk/src/org/red5/server/tomcat/TomcatLoader.java
(original)
+++ java/server/trunk/src/org/red5/server/tomcat/TomcatLoader.java Sun Sep
21 17:36:52 2008
@@ -108,6 +108,9 @@
System.setProperty("tomcat.home", serverRoot);
System.setProperty("catalina.home", serverRoot);
System.setProperty("catalina.base", serverRoot);
+ //
+ System.setProperty("catalina.shared.loader", serverRoot + "/lib/*.jar");
+ System.setProperty("shared.loader", serverRoot + "/lib/*.jar");
// create one embedded (server) and use it everywhere
embedded = new Embedded();
}
@@ -157,7 +160,34 @@
public Context addContext(String path, String docBase) {
log.debug("Add context - path: {} docbase: {}", path, docBase);
org.apache.catalina.Context c = embedded.createContext(path, docBase);
- log.debug("Context name: {}", c.getName());
+ log.debug("Context name: {} docbase: {} encoded: {}", new
Object[]{c.getName(), c.getDocBase(), c.getEncodedPath()});
+ //see if we can load the webapp cl
+ try {
+ Class.forName("org.red5.server.tomcat.WebappClassLoader").newInstance();
+ } catch (Exception e) {
+ log.error("{}", e);
+ e.printStackTrace();
+ }
+ if (c != null) {
+ Object ldr = c.getLoader();
+ log.debug("Context loader: {}", ldr);
+ if (ldr != null) {
+ if (ldr instanceof WebappLoader) {
+ log.debug("Replacing context loader");
+ ((WebappLoader)
ldr).setLoaderClass("org.red5.server.tomcat.WebappClassLoader");
+ } else {
+ log.debug("Context loader was instance of {}",
ldr.getClass().getName());
+ }
+ } else {
+ log.debug("Context loader was null");
+ ClassLoader classloader =
Thread.currentThread().getContextClassLoader();
+ log.debug("Thread context class loader: {}", classloader);
+ WebappLoader wldr = new WebappLoader(classloader);
+ wldr.setLoaderClass("org.red5.server.tomcat.WebappClassLoader");
+ c.setLoader(wldr);
+ }
+ }
+ log.debug("Context loader (check): {}", c.getLoader());
host.addChild(c);
LoaderBase.setRed5ApplicationContext(path, new
TomcatApplicationContext(c));
return c;
@@ -258,7 +288,7 @@
webappFolder = System.getProperty("red5.root") + "/webapps";
}
System.setProperty("red5.webapp.root", webappFolder);
- log.info("Application root: " + webappFolder);
+ log.info("Application root: {}", webappFolder);
// scan for additional webapp contexts
@@ -281,22 +311,6 @@
log.debug("Adding context from directory scan: {}", dirName);
ctx = addContext(dirName, webappContextDir);
}
- if (ctx != null) {
- Object ldr = ctx.getLoader();
- if (ldr != null) {
- if (ldr instanceof WebappLoader) {
- log.debug("Replacing context class loader");
- ((WebappLoader)
ldr).setLoaderClass("org.red5.server.tomcat.WebappClassLoader");
- } else {
- log.debug("Context class loader was instance of {}",
ldr.getClass().getName());
- }
- } else {
- log.debug("Context class loader was null");
- WebappLoader wldr = new WebappLoader(classloader);
- wldr.setLoaderClass("org.red5.server.tomcat.WebappClassLoader");
- ctx.setLoader(wldr);
- }
- }
webappContextDir = null;
}
}
@@ -468,8 +482,8 @@
* @return
*/
public boolean startWebApplication(String applicationName) {
- boolean result = false;
log.info("Starting Tomcat - Web application");
+ boolean result = false;
log.debug("Webapp root: {}", webappFolder);
@@ -483,27 +497,8 @@
log.debug("Context did not exist in host");
String webappContextDir = FileUtil.formatPath(webappFolder,
applicationName);
log.debug("Webapp context directory (full path): {}", webappContextDir);
- //prepend slash
- Context ctx = addContext(contextName, webappContextDir);
- if (ctx != null) {
- Object ldr = ctx.getLoader();
- if (ldr != null) {
- if (ldr instanceof WebappLoader) {
- log.debug("Replacing context loader");
- ((WebappLoader)
ldr).setLoaderClass("org.red5.server.tomcat.WebappClassLoader");
- } else {
- log.debug("Context loader was instance of {}",
ldr.getClass().getName());
- }
- } else {
- log.debug("Context loader was null");
- ClassLoader classloader =
Thread.currentThread().getContextClassLoader();
- WebappLoader wldr = new WebappLoader(classloader);
- wldr.setLoaderClass("org.red5.server.tomcat.WebappClassLoader");
- ctx.setLoader(wldr);
- }
- }
//set the newly created context as the current container
- cont = ctx;
+ cont = addContext(contextName, webappContextDir);
} else {
log.debug("Context already exists in host");
}
Modified:
java/server/trunk/src/org/red5/server/tomcat/TomcatVHostLoader.java
==============================================================================
--- java/server/trunk/src/org/red5/server/tomcat/TomcatVHostLoader.java
(original)
+++ java/server/trunk/src/org/red5/server/tomcat/TomcatVHostLoader.java Sun
Sep 21 17:36:52 2008
@@ -132,22 +132,6 @@
log.debug("Adding context from directory scan: {}", dirName);
ctx = addContext(dirName, webappContextDir);
}
- if (ctx != null) {
- Object ldr = ctx.getLoader();
- if (ldr != null) {
- if (ldr instanceof WebappLoader) {
- log.debug("Replacing context loader");
- ((WebappLoader)
ldr).setLoaderClass("org.red5.server.tomcat.WebappClassLoader");
- } else {
- log.debug("Context loader was instance of {}",
ldr.getClass().getName());
- }
- } else {
- log.debug("Context loader was null");
- WebappLoader wldr = new WebappLoader(classloader);
- wldr.setLoaderClass("org.red5.server.tomcat.WebappClassLoader");
- ctx.setLoader(wldr);
- }
- }
webappContextDir = null;
}
}
@@ -296,23 +280,6 @@
String webappContextDir = FileUtil.formatPath(webappRoot,
applicationName);
//prepend slash
Context ctx = addContext(contextName, webappContextDir);
- if (ctx != null) {
- Object ldr = ctx.getLoader();
- if (ldr != null) {
- if (ldr instanceof WebappLoader) {
- log.debug("Replacing context loader");
- ((WebappLoader)
ldr).setLoaderClass("org.red5.server.tomcat.WebappClassLoader");
- } else {
- log.debug("Context loader was instance of {}",
ldr.getClass().getName());
- }
- } else {
- log.debug("Context loader was null");
- ClassLoader classloader =
Thread.currentThread().getContextClassLoader();
- WebappLoader wldr = new WebappLoader(classloader);
- wldr.setLoaderClass("org.red5.server.tomcat.WebappClassLoader");
- ctx.setLoader(wldr);
- }
- }
//set the newly created context as the current container
cont = ctx;
} else {
Modified: java/server/trunk/src/org/red5/server/util/FileUtil.java
==============================================================================
--- java/server/trunk/src/org/red5/server/util/FileUtil.java (original)
+++ java/server/trunk/src/org/red5/server/util/FileUtil.java Sun Sep 21
17:36:52 2008
@@ -21,7 +21,6 @@
import java.io.BufferedInputStream;
-import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
@@ -32,11 +31,8 @@
import java.nio.channels.FileChannel;
import java.util.Enumeration;
import java.util.Random;
-import java.util.zip.Adler32;
-import java.util.zip.CheckedInputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
-import java.util.zip.ZipInputStream;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -341,35 +337,35 @@
File tmpDir = new File(destinationDir);
// make the war directory
- System.out.println("making directory: " + tmpDir.mkdirs());
+ log.debug("Making directory: {}", tmpDir.mkdirs());
try {
ZipFile zf = new ZipFile(compressedFileName);
Enumeration e = zf.entries();
while(e.hasMoreElements()) {
ZipEntry ze = (ZipEntry) e.nextElement();
- System.out.println("Unzipping " + ze.getName());
+ log.debug("Unzipping {}", ze.getName());
if(ze.isDirectory()) {
- System.out.println("is a directory");
+ log.debug("is a directory");
File dir = new File(tmpDir + "/" + ze.getName());
Boolean tmp = dir.mkdir();
- System.out.println(tmp);
+ log.debug("{}", tmp);
continue;
}
FileOutputStream fout = new FileOutputStream(tmpDir + "/" +
ze.getName());
- java.io.InputStream in = zf.getInputStream(ze);
+ InputStream in = zf.getInputStream(ze);
copy(in, fout);
in.close();
fout.close();
}
+ e = null;
} catch (IOException e) {
- System.err.println(e);
+ log.debug("Error unzipping", e);
e.printStackTrace();
}
}
public static void copy(InputStream in, OutputStream out) throws
IOException {
-
synchronized(in) {
synchronized(out) {
byte[] buffer = new byte[256];
More information about the Red5devs
mailing list