Author: jlmonteiro
Date: Tue Apr 19 14:12:52 2011
New Revision: 1095095
URL: http://svn.apache.org/viewvc?rev=1095095&view=rev
Log:
Fix ZipException for TLD scanning and for commons-logging-api.jar which does
not exist anymore.
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/RemoteServer.java
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java?rev=1095095&r1=1095094&r2=1095095&view=diff
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
(original)
+++
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
Tue Apr 19 14:12:52 2011
@@ -750,13 +750,7 @@ public class DeploymentLoader implements
}
try {
File file = new File(warFile,
location).getCanonicalFile().getAbsoluteFile();
- if (location.endsWith(".jar")) {
- URL url = file.toURI().toURL();
- tldLocations.add(url);
- } else {
- Set<URL> urls = scanJarForTagLibs(file);
- tldLocations.addAll(urls);
- }
+ tldLocations.addAll(scanForTagLibs(file));
} catch (IOException e) {
logger.warning("JSP tag library location bad: " +
location, e);
}
@@ -900,7 +894,7 @@ public class DeploymentLoader implements
continue;
}
- urls.addAll(scanJarForTagLibs(file));
+ urls.addAll(scanForTagLibs(file));
}
return urls;
}
@@ -941,6 +935,26 @@ public class DeploymentLoader implements
return urls;
}
+ private static Set<URL> scanForTagLibs(File file) {
+ Set<URL> tldLocations = new HashSet<URL>();
+ String location = null;
+ try {
+ location = file.toURI().toURL().toExternalForm();
+
+ if (location.endsWith(".jar")) {
+ Set<URL> urls = scanJarForTagLibs(file);
+ tldLocations.addAll(urls);
+ } else if (file.getName().endsWith(".tld")) {
+ URL url = file.toURI().toURL();
+ tldLocations.add(url);
+ }
+ } catch (IOException e) {
+ logger.warning("Error scanning for JSP tag libraries: " +
file.getAbsolutePath(), e);
+ }
+
+ return tldLocations;
+ }
+
private static Set<URL> scanJarForTagLibs(File file) {
Set<URL> urls = new HashSet<URL>();
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/RemoteServer.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/RemoteServer.java?rev=1095095&r1=1095094&r2=1095095&view=diff
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/RemoteServer.java
(original)
+++
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/RemoteServer.java
Tue Apr 19 14:12:52 2011
@@ -22,6 +22,8 @@ import org.apache.openejb.util.Pipe;
import java.io.File;
import java.io.OutputStream;
import java.net.Socket;
+import java.util.ArrayList;
+import java.util.List;
import java.util.Properties;
/**
@@ -64,7 +66,7 @@ public class RemoteServer {
}
public static void main(String[] args) {
- assert args.length > 0 : "no arguments supplied: valid arguments are
'start' or 'stop'";
+ assert args.length > 0 : "no arguments supplied: valid argumen -efts
are 'start' or 'stop'";
if (args[0].equalsIgnoreCase("start")){
new RemoteServer().start();
} else if (args[0].equalsIgnoreCase("stop")) {
@@ -159,55 +161,43 @@ public class RemoteServer {
File endorsed = new File(home, "endorsed");
File temp = new File(home, "temp");
- if (DEBUG) {
- args = new String[] { "java",
- "-XX:+HeapDumpOnOutOfMemoryError",
- "-Xdebug",
- "-Xnoagent",
- "-Djava.compiler=NONE",
-
"-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005",
-
- "-javaagent:" + javaagentJar.getAbsolutePath(),
+ List<String> argsList = new ArrayList<String>() {};
+ argsList.add("java");
+ argsList.add("-XX:+HeapDumpOnOutOfMemoryError");
- "-Dcom.sun.management.jmxremote",
-
-
"-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager",
- "-Djava.util.logging.config.file=" +
loggingProperties.getAbsolutePath(),
+ if (DEBUG) {
+ argsList.add("-Xdebug");
+ argsList.add("-Xnoagent");
+ argsList.add("-Djava.compiler=NONE");
+
argsList.add("-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005");
+ }
- "-Djava.io.tmpdir=" + temp.getAbsolutePath(),
- "-Djava.endorsed.dirs=" +
endorsed.getAbsolutePath(),
- "-Dcatalina.base=" + home.getAbsolutePath(),
- "-Dcatalina.home=" + home.getAbsolutePath(),
- "-Dcatalina.ext.dirs=" +
tlib.getAbsolutePath(),
- "-Dopenejb.servicemanager.enabled=" +
Boolean.getBoolean("openejb.servicemanager.enabled"),
+ argsList.add("-javaagent:" +
javaagentJar.getAbsolutePath());
+ argsList.add("-Dcom.sun.management.jmxremote");
+
argsList.add("-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager");
+ argsList.add("-Djava.util.logging.config.file=" +
loggingProperties.getAbsolutePath());
+ argsList.add("-Djava.io.tmpdir=" + temp.getAbsolutePath());
+ argsList.add("-Djava.endorsed.dirs=" +
endorsed.getAbsolutePath());
+ argsList.add("-Dcatalina.base=" + home.getAbsolutePath());
+ argsList.add("-Dcatalina.home=" + home.getAbsolutePath());
+ argsList.add("-Dcatalina.ext.dirs=" +
tlib.getAbsolutePath());
+ argsList.add("-Dopenejb.servicemanager.enabled=" +
Boolean.getBoolean("openejb.servicemanager.enabled"));
+ argsList.add("-classpath");
- "-classpath", bootstrapJar.getAbsolutePath() +
":" + juliJar.getAbsolutePath() + ":"+ commonsLoggingJar.getAbsolutePath(),
+ if (commonsLoggingJar.exists()) {
+ argsList.add(bootstrapJar.getAbsolutePath() + ":" +
juliJar.getAbsolutePath() + ":" + commonsLoggingJar.getAbsolutePath());
- "org.apache.catalina.startup.Bootstrap",
"start"
- };
} else {
- args = new String[] { "java",
- "-XX:+HeapDumpOnOutOfMemoryError",
- "-javaagent:" + javaagentJar.getAbsolutePath(),
-
- "-Dcom.sun.management.jmxremote",
+ argsList.add(bootstrapJar.getAbsolutePath() + ":" +
juliJar.getAbsolutePath());
+ }
-
"-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager",
- "-Djava.util.logging.config.file=" +
loggingProperties.getAbsolutePath(),
+ argsList.add("org.apache.catalina.startup.Bootstrap");
+ argsList.add("start");
- "-Djava.io.tmpdir=" + temp.getAbsolutePath(),
- "-Djava.endorsed.dirs=" +
endorsed.getAbsolutePath(),
- "-Dcatalina.base=" + home.getAbsolutePath(),
- "-Dcatalina.home=" + home.getAbsolutePath(),
- "-Dcatalina.ext.dirs=" +
tlib.getAbsolutePath(),
- "-Dopenejb.servicemanager.enabled=" +
Boolean.getBoolean("openejb.servicemanager.enabled"),
+ args = argsList.toArray(new String[argsList.size()]);
+ }
- "-classpath", bootstrapJar.getAbsolutePath() +
":" + juliJar.getAbsolutePath() + ":" + commonsLoggingJar.getAbsolutePath(),
- "org.apache.catalina.startup.Bootstrap",
"start"
- };
- }
- }
if (verbose) {
System.out.println(Join.join("\n", args));
}