This Bugzilla instance is deprecated, and most Eclipse projects now use GitHub or Eclipse GitLab. Please see the deprecation plan for details.
Bug 275953 - improve bootstrap performance, useability
Summary: improve bootstrap performance, useability
Status: RESOLVED FIXED
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: Eclipselink (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows XP
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: Nobody - feel free to take it CLA
QA Contact:
URL: http://wiki.eclipse.org/EclipseLink/D...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-05-12 15:24 EDT by James Sutherland CLA
Modified: 2022-06-09 10:19 EDT (History)
3 users (show)

See Also:


Attachments
patch (569.23 KB, patch)
2009-05-12 15:29 EDT, James Sutherland CLA
no flags Details | Diff
Updates to patch (86.58 KB, patch)
2009-05-19 13:27 EDT, Guy Pelletier CLA
no flags Details | Diff
Patch to fix last failing test from extended model (1.33 KB, patch)
2009-05-19 15:42 EDT, Guy Pelletier CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description James Sutherland CLA 2009-05-12 15:24:17 EDT
Currently a temporary class loader and Java reflection are used to parse the annotations and class metadata. This has a number of drawbacks, including all of the classes must be loaded on the temporary or main loader adding a performance overhead. Also Java reflection does not give access to annotation unspecified values (they are always defaulted). Some application servers or environments do not support the temporary class loader. There is also the risk of class overlap between the temporary and main class loaders, causing a class to be loaded on the main class loader before it is weaved.

The metadata reflection usage will be changed to use ASM to gather the class and annotation metadata from the class byte codes

See,
http://wiki.eclipse.org/EclipseLink/DesignDocs/221546(2.0)#Bootstrap_Performance
Comment 1 James Sutherland CLA 2009-05-12 15:29:06 EDT
Created attachment 135439 [details]
patch
Comment 2 Shaun Smith CLA 2009-05-13 12:04:03 EDT
I'm very interested in this patch because it should make our weaving code more portable across OSGi implementations.  However before we adopt it I'd like to ensure we either upgrade our OSGi weaving support to use it or have a strategy for selecting the temp loader approach until such time as we can complete migration.  Is it possible to select between byte code analysis and the temp loader approach?  The documentation (see URL) for this doesn't have any content on configuration.  Is there more?
Comment 3 Guy Pelletier CLA 2009-05-19 13:27:16 EDT
Created attachment 136341 [details]
Updates to patch

Patch to correct the merging and overriding behavior (as well as logging messages)
Comment 4 Guy Pelletier CLA 2009-05-19 15:42:26 EDT
Created attachment 136372 [details]
Patch to fix last failing test from extended model

patch fixes the testProperty test from org.eclipse.persistence.testing.tests.jpa.xml.advanced.EntityMappingsAdvancedJUnitTestCase

All extended tests now pass.
Comment 5 James Sutherland CLA 2009-11-24 10:04:28 EST
Resolved.
Comment 6 Eclipse Webmaster CLA 2022-06-09 10:19:33 EDT
The Eclipselink project has moved to Github: https://github.com/eclipse-ee4j/eclipselink