Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8014925

Disable sun.reflect.Reflection.getCallerClass(int) with a temporary switch to re-enable it

    Details

    • Subcomponent:
    • Introduced In Build:
      b12
    • Introduced In Version:
    • Resolved In Build:
      b33
    • Verification:
      Verified

      Backports

        Description

        JEP-176 proposes to remove sun.reflect.Reflection.getCallerClass(int) that has incompatibility concern since there are existing applications depending on this private API such as Oracle Diagnostic Logging and jidesoft library that breaks Oracle Primavera.

        The jdk part of JEP-176 has been backported to 7u25 but keep sun.reflect.Reflection.getCallerClass(int) as the mitigration plan (JDK-8014745) in 7u25.

        The following describes the transition plan to allow customers to migrate their applications away from this private API:
        1. Disable sun.reflect.Reflection.getCallerClass(int) in 7u40 and provide a flag to re-enable it
        2. Determine how this private API is being used and the use cases
        3. Remove this private API if there is no valid use case or there is a proper replacement for it. Allow at least 2 CPU releases to allow customers to make appropriate change. So the earliest for the removal is 7u55. If there are valid use cases but no proper replacement, we may keep this private API in jdk7u for longer.

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  mchung Mandy Chung
                  Reporter:
                  mchung Mandy Chung
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  10 Start watching this issue

                  Dates

                  • Due:
                    Created:
                    Updated:
                    Resolved: