[GLASSFISH-18418] Deployment: Inspect JDK 7 getMethods()/getDeclaredMethods() usage Created: 28/Feb/12  Updated: 07/Nov/12  Resolved: 07/Nov/12

Status: Resolved
Project: glassfish
Component/s: deployment
Affects Version/s: 4.0_b25
Fix Version/s: 4.0_b61

Type: Task Priority: Major
Reporter: Joe Di Pol Assignee: Hong Zhang
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Recent JDK 7 releases have altered the order of methods returned by the
Class.getMethods() and Class.getDeclaredMethods() calls. The order is
no longer stable and can change from one JVM run to the next.

This caused a number of sporadic bugs to appear during 3.1.2 development
when running with JDK 7. Those have been fixed, but further inspection
of the source has found a number of cases where we use getMethods() and
getDeclaredMethods().

Each of these cases should be visually inspected to see if the code is
making any assumptions on the order of methods returned by get*Methods().
In particular it should handle the case of multiple methods having the
same name.

For more details on what to look for and how to fix it see this document:

https://wikis.oracle.com/display/GlassFish/Method+Ordering+from+Class.getMethods

Please inspect the following files for their use of getMethods() /
getDeclaredMethods() to ensure the code is not making any assumptions
with respect to the order of methods returned. Create bugs for
any issues that need to be fixed and link them to this task. Once you
have completed inspection update this task with status and close it.

Deployment Object Library
    EjbCMPEntityDescriptor.java
    EjbDescriptor.java
    IASEjbCMPEntityDescriptor.java
    ManagedBeanHandler.java
    MessageDescriptor.java
    PersistenceDescriptor.java
    TypeUtil.java
    ComponentValidator.java
    EjbBundleValidator.java
    EjbMessageBeanDescriptor.java
    LifecycleCallbackDescriptor.java
    WebComponentDescriptor.java
GlassFish Java EE Annotation Framework
    ComponentDefinition.java


 Comments   
Comment by Hong Zhang [ 07/Nov/12 ]

Closed the issue after checking with the relevant container teams.

Generated at Mon Jul 06 10:32:59 UTC 2015 using JIRA 6.2.3#6260-sha1:63ef1d6dac3f4f4d7db4c1effd405ba38ccdc558.