OPENJPA-256 fixed for 1.0.0 branch

git-svn-id: https://svn.apache.org/repos/asf/openjpa/branches/1.0.0@568173 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Marc Prud'hommeaux 2007-08-21 15:47:11 +00:00
parent 66f7dc69e7
commit d493f9f2e7
3 changed files with 17 additions and 0 deletions

View File

@ -26,6 +26,7 @@ import org.apache.openjpa.lib.conf.Configuration;
import org.apache.openjpa.lib.conf.PluginValue; import org.apache.openjpa.lib.conf.PluginValue;
import org.apache.openjpa.lib.util.concurrent.ConcurrentMap; import org.apache.openjpa.lib.util.concurrent.ConcurrentMap;
import org.apache.openjpa.lib.util.concurrent.ConcurrentHashMap; import org.apache.openjpa.lib.util.concurrent.ConcurrentHashMap;
import org.apache.openjpa.lib.util.ParseException;
import org.apache.openjpa.util.CacheMap; import org.apache.openjpa.util.CacheMap;
/** /**
@ -58,6 +59,18 @@ public class QueryCompilationCacheValue
try { try {
map = (Map) super.newInstance(clsName, type, conf, fatal); map = (Map) super.newInstance(clsName, type, conf, fatal);
} catch (ParseException pe) {
// OPENJPA256: this class differs from most plugins in that
// the plugin type is the standard java interface Map.class (rather
// than an openjpa-specific interface), which means that the
// ClassLoader used to load the implementation will be the system
// class loader; this presents a problem if OpenJPA is not in the
// system classpath, so work around the problem by catching
// the ParseException (which is what we wrap the
// ClassNotFoundException in) and try again, this time using
// this class' ClassLoader.
map = (Map) super.newInstance(clsName,
QueryCompilationCacheValue.class, conf, fatal);
} catch (IllegalArgumentException iae) { } catch (IllegalArgumentException iae) {
// OPENJPA256: this class differs from most plugins in that // OPENJPA256: this class differs from most plugins in that
// the plugin type is the standard java interface Map.class (rather // the plugin type is the standard java interface Map.class (rather

View File

@ -282,6 +282,8 @@ Bugs fixed
* [OPENJPA-321] - DB2 ABS Casting problem * [OPENJPA-321] - DB2 ABS Casting problem
* [OPENJPA-322] - Timezone on the Calendar object lost in proxying * [OPENJPA-322] - Timezone on the Calendar object lost in proxying
* [OPENJPA-323] - Cleanup some message text * [OPENJPA-323] - Cleanup some message text
* [OPENJPA-256] - java.lang.ClassNotFoundException:
org.apache.openjpa.util.CacheMap in a jetty spring environment
Sub-task Sub-task

View File

@ -275,6 +275,8 @@ Additional testing done for release 0.9.7
</li> </li>
<li>[<a href='http://issues.apache.org/jira/browse/OPENJPA-323'>OPENJPA-323</a>] - Cleanup some message text <li>[<a href='http://issues.apache.org/jira/browse/OPENJPA-323'>OPENJPA-323</a>] - Cleanup some message text
</li> </li>
<li>[<a href='http://issues.apache.org/jira/browse/OPENJPA-256'>OPENJPA-256</a>] - java.lang.ClassNotFoundException: org.apache.openjpa.util.CacheMap in a jetty spring environment
</li>
</ul> </ul>
<h2> Sub-task <h2> Sub-task