Author: jgallimore
Date: Sat Jan 16 18:12:01 2010
New Revision: 900008
URL: http://svn.apache.org/viewvc?rev=900008&view=rev
Log:
1131 JDK 1.6.0 u18 uses Strings instead of URLs in the Sun JarFileFactory cache
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/ClassLoaderUtil.java
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/ClassLoaderUtil.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/ClassLoaderUtil.java?rev=900008&r1=900007&r2=900008&view=diff
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/ClassLoaderUtil.java
(original)
+++
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/ClassLoaderUtil.java
Sat Jan 16 18:12:01 2010
@@ -170,8 +170,16 @@
List<URL> urls = new ArrayList<URL>();
for (Object item : fileCache.keySet()) {
- URL url = (URL) item;
- if (isParent(jarLocation, URLs.toFile(url))) {
+ URL url = null;
+ if (item instanceof URL) {
+ url = (URL) item;
+ } else if (item instanceof String) {
+ url = new URL((String) item);
+ } else {
+ logger.warning("Don't know how to handle object: " +
item.toString() + " of type: " + item.getClass().getCanonicalName() + " in Sun
JarFileFactory cache, skipping");
+ }
+
+ if (url != null && isParent(jarLocation, URLs.toFile(url))) {
urls.add(url);
}
}