Details
-
Improvement
-
Status: In Progress
-
Minor
-
Resolution: Unresolved
-
jtsk_2.0
-
None
-
None
-
6190433
Description
Bugtraq ID 6190433
To facilitate experimentation in addressing codebase evolution problems, it might be worthwhile to add some form of protected method to PreferredClassProvider, that would allow a subclass to determine when two codebases are equivalent. A minimum would seem to be to replace some existing calls to Arrays.equals(URL[], URL[]) with calls to a protected method, with Arrays.equals as the default implementation of the method. The specific Arrays.equals calls I have in mind are those related to boomerang and default loader use: the calls in loadClass, annotationsMatch, and findOriginLoader0. It may also be desirable to allow subclass control for the calls in LoaderKey.equals and checkLoader, but that's less clear to me, given security implications. For use in LoaderKey.equals, it would also be necessary to provide a means for the subclass to compute a hash value. It would seem important for the subclass to be able to distinguish the former calls from the latter ones, if the latter are supported.
Work Around:
Clone PreferredClassProvider instead.
Attachments
Issue Links
- relates to
-
RIVER-265 PreferredClassProvider performs 'unlucky' caching
- Resolved