[jboss-cvs] JBossAS SVN: r68575 - projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/context/jar.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Dec 27 07:51:55 EST 2007
Author: alesj
Date: 2007-12-27 07:51:55 -0500 (Thu, 27 Dec 2007)
New Revision: 68575
Modified:
projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/context/jar/AbstractStructuredJarHandler.java
Log:
ForceNoCopy system property.
Modified: projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/context/jar/AbstractStructuredJarHandler.java
===================================================================
--- projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/context/jar/AbstractStructuredJarHandler.java 2007-12-27 12:38:15 UTC (rev 68574)
+++ projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/context/jar/AbstractStructuredJarHandler.java 2007-12-27 12:51:55 UTC (rev 68575)
@@ -34,6 +34,8 @@
import java.util.jar.JarFile;
import java.util.jar.JarEntry;
import java.util.zip.ZipEntry;
+import java.security.PrivilegedAction;
+import java.security.AccessController;
import org.jboss.virtual.plugins.context.StructuredVirtualFileHandler;
import org.jboss.virtual.plugins.context.HierarchyVirtualFileHandler;
@@ -61,6 +63,18 @@
private transient Map<String, VirtualFileHandler> entryMap;
/**
+ * Force no copy nested jar handler.
+ */
+ private static boolean forceNoCopy;
+
+ static
+ {
+ forceNoCopy = AccessController.doPrivileged(new CheckForceNoCopy());
+ if (forceNoCopy)
+ log.info("VFS force NoCopyJarHandler is enabled.");
+ }
+
+ /**
* Create a new JarHandler.
*
* @param context the context
@@ -286,7 +300,7 @@
String flag = context.getOptions().get("useNoCopyJarHandler");
boolean useNoCopyJarHandler = Boolean.valueOf(flag);
- if (useNoCopyJarHandler)
+ if (useNoCopyJarHandler || forceNoCopy)
vfh = new NoCopyNestedJarHandler(context, parent, getJar(), entry, url, entryName);
else
vfh = NestedJarHandler.create(context, parent, getJar(), entry, url, entryName);
@@ -334,4 +348,16 @@
return new ZipEntryWrapper<T>(entry);
}
}
+
+ /**
+ * Check if force no copy system property exists.
+ */
+ private static class CheckForceNoCopy implements PrivilegedAction<Boolean>
+ {
+ public Boolean run()
+ {
+ String forceString = System.getProperty("jboss.vfs.forceNoCopy", "false");
+ return Boolean.valueOf(forceString);
+ }
+ }
}
More information about the jboss-cvs-commits
mailing list