Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
-
None
-
Patch Available
Description
The MultiClassLoader relies on its underlying ClassLoaders in its hashing algorithm. This is problematic if the underlying classloaders refuse to return a hash or if the classloader list changes over time.
I ran into a problem that demanded a resolution to this issue when doing some work with OpenJPA in a Google AppEngine context. I don't have a stack trace handy.
An effective-yet-ugly fix was to simply change the hashCode() implementation to return a constant value (I chose '1'). This clearly is a crappy hashing algorithm, but will always respect the hashing contract. And I don't think that we really put MultiClassLoaders into big maps or anything.