Details
Description
Based on the changes suggested by issue 1508 do some additional improvements in the XMLClassDescriptorResolver to
1. further improve performance
2. unify the different "resolve" methods
3. unify the caching of descriptors
The provided patch introduces a ClassCache to keep track of missing classes (replacing the _classNotFoundList / saveClassNotFound / ClassNotFoundException mechanism).
Similarities in the different "resolve(Class | className)" methods have been extracted. They now delegate to a single "getDescriptor" method.
Caching of already loaded descriptors is now located in a DescriptorCache, which encapsulates loading of package mapping files, CDR files, finding descriptors by class name and by XML name.
The performance improvement shown on my computer is about 15 - 20% according to the test provided with issue 1508.
Issue Links
- supercedes
-
CASTOR-1291
Castor severly overtaxes the class loader
-
Activity
| Field | Original Value | New Value |
|---|---|---|
| Assignee | Werner Guttmann [ wguttmn ] | |
| Summary | Improvement of XMLClassDescriptorImpl | Improvement of XMLClassDescriptorResolverImpl |
| Fix Version/s | 1.0.3 [ 12762 ] | |
| Priority | Minor [ 4 ] | Major [ 3 ] |
| Attachment | patch_20060831_XMLClassDescriptorResolver.txt [ 22584 ] |
| Status | Open [ 1 ] | In Progress [ 3 ] |
| Status | In Progress [ 3 ] | Open [ 1 ] |
-
- Time Spent:
- 20 minutes
- Added changelog entries, and executed both CTF and JDO test suites.
| Remaining Estimate | 0 minutes [ 0 ] | |
| Time Spent | 20 minutes [ 1200 ] |
| Resolution | Fixed [ 1 ] | |
| Status | Open [ 1 ] | Resolved [ 5 ] |
| Status | Resolved [ 5 ] | Closed [ 6 ] |
| Link |
This issue supercedes |
The first patch seems to wrong. Somehow it is not applicable.
The new patch should work.
Sorry, if this caused any inconveniences.