And separately from the caller class issue, log4j2 async loggers depend on the LMAX Disruptor, which makes heavy use of sun.misc.Unsafe, I think mostly for concurrency primitives.
Sent from my iPhone > On 2014/09/15, at 22:59, Gary Gregory <[email protected]> wrote: > > If you download the source zip or git clone, please see the class > org.apache.logging.log4j.core.impl.ReflectiveCallerClassUtility. > > Gary > >> On Mon, Sep 15, 2014 at 9:56 AM, Gary Gregory <[email protected]> wrote: >> Ah, let's see... >> >> These links discuss our problems: >> >> - https://issues.apache.org/jira/browse/LOG4J2-245 >> - https://issues.apache.org/jira/browse/LOG4J2-809 >> >> Gary >> >>> On Mon, Sep 15, 2014 at 8:54 AM, Rory O'Donnell Oracle, Dublin Ireland >>> <[email protected]> wrote: >>> Hi, >>> >>> Can I point you to the following paragraphs below. >>> >>> "For anything where your migration path is unclear, I would appreciate >>> comments on the JDK-internal API usage patterns in the attached jdeps >>> report, in particular comments elaborating on the rationale for them either >>> to me or on this list. >>> >>> Finding suitable replacements for unsupported interfaces is not always >>> straightforward, which is why I am reaching out to you early in the JDK 9 >>> development cycle so you can give feedback about new APIs that may be >>> needed to facilitate this exercise." >>> >>> Please feel free to send me your comments, explanations etc on why you are >>> using JDK-internal APIs ? >>> >>> Rgds,Rory >>> >>> P.S. I haven't gotten round to running the tool on log4j yet. >>> >>>> On 15/09/2014 12:52, Gary Gregory wrote: >>>> Sad, isn't it? Like going to the Dr. and he tells you you've got something >>>> he can't help you with! >>>> >>>> Gary >>>> >>>>> On Mon, Sep 15, 2014 at 7:33 AM, Ralph Goers <[email protected]> wrote: >>>>> Yes, but if you follow the link you will notice that there is still no >>>>> replacement. >>>>> >>>>> Sent from my iPad >>>>> >>>>> > On Sep 15, 2014, at 3:55 AM, Gary Gregory <[email protected]> >>>>> > wrote: >>>>> > >>>>> > This is of interest to use and our call stack query hacks, isn't kt? >>>>> > >>>>> > Gary >>>>> > >>>>> > >>>>> > -------- Original message -------- >>>>> > From: "Rory O'Donnell Oracle, Dublin Ireland" >>>>> > Date:09/15/2014 06:17 (GMT-05:00) >>>>> > To: [email protected] >>>>> > Cc: Maven Developers List ,Balchandra Vaidya ,Dalibor Topic >>>>> > Subject: Re: Analysis of apache-maven-3.2.3's dependency on >>>>> > JDK-Internal APIs >>>>> > >>>>> > Hi Stephen, >>>>> > >>>>> > One more time, hope this is ok. >>>>> > >>>>> > Rgds,Rory >>>>> > >>>>> > >>>>> >Â Â JDK Internal API Usage Report for apache-maven-3.2.3 >>>>> > >>>>> > The OpenJDK Quality Outreach campaign has run a >>>>> > compatibility report to >>>>> > identify usage of JDK-internal APIs. Usage of these JDK-internal APIs >>>>> > could pose compatibility issues, as the Java team explained in 1996 >>>>> > <http://www.oracle.com/technetwork/java/faq-sun-packages-142232.html>. >>>>> > We have created this report to help you identify which JDK-internal APIs >>>>> > your project uses, what to use instead, and where those changes should >>>>> > go. Making these changes will improve your compatibility, and in some >>>>> > cases give better performance. >>>>> > >>>>> > Migrating away from the JDK-internal APIs now will give your team >>>>> > adequate time for testing before the release of JDK 9. If you are unable >>>>> > to migrate away from an internal API, please provide us with an >>>>> > explanation below to help us understand it better. As a reminder, >>>>> > supported APIs are determined by the OpenJDK's Java Community Process >>>>> > and not by Oracle. >>>>> > >>>>> > This report was generated by jdeps >>>>> > <http://docs.oracle.com/javase/8/docs/technotes/tools/unix/jdeps.html> >>>>> > through static analysis of artifacts: it does not identify any usage of >>>>> > those APIs through reflection or dynamic bytecode. You may also run >>>>> > jdeps on your own >>>>> > <https://wiki.openjdk.java.net/display/JDK8/Java+Dependency+Analysis+Tool> >>>>> > if you would prefer. >>>>> > >>>>> > Summary of the analysis of the jar files within apache-maven-3.2.3: >>>>> > >>>>> >Â Â * Numer of jar files depending on JDK-internal APIs: 1 >>>>> >Â Â * Internal APIs that have known replacements: 0 >>>>> >Â Â * Internal APIs that your team should migrate away: 1 >>>>> > >>>>> > >>>>> >Â Â Â Â APIs that have known replacements >>>>> >Â Â Â Â >>>>> ><https://wiki.openjdk.java.net/display/JDK8/Java+Dependency+Analysis+Tool>: >>>>> > >>>>> > ID Replace Usage of With Inside >>>>> > >>>>> > >>>>> >Â Â Â Â JDK-internal APIs without supported replacements: >>>>> > >>>>> > ID Internal APIs (do not use) Used by >>>>> > 1 sun.misc.Unsafe >>>>> > >>>>> >Â Â * lib/guava-14.0.1.jar >>>>> > >>>>> > Explanation... >>>>> > >>>>> > >>>>> >Â Â Â Â Identify External Replacements >>>>> > >>>>> > You should use a separate third-party library that performs this >>>>> > functionality. >>>>> > >>>>> > ID Internal API (grouped by package) Used By Identify External >>>>> > Replacement >>>>> > >>>>> > >>>>> > On 15/09/2014 10:22, Stephen Connolly wrote: >>>>> > > I think the mailing list stripped the attachment >>>>> > > >>>>> > > On Monday, 15 September 2014, Rory O'Donnell Oracle, Dublin Ireland < >>>>> > > [email protected]> wrote: >>>>> > > >>>>> > >> Hi Robert,Kristian, >>>>> > >> >>>>> > >> As part of the preparations for JDK 9, Oracle's engineers have been >>>>> > >> analyzing open source projects like yours to understand usage. >>>>> > >> One area of concern involves identifying compatibility problems, >>>>> > >> such as >>>>> > >> reliance on JDK-internal APIs. >>>>> > >> >>>>> > >> Our engineers have already prepared guidance on migrating some of >>>>> > >> the more >>>>> > >> common usage patterns of JDK-internal APIs to supported public >>>>> > >> interfaces. >>>>> > >> The list is on the OpenJDK wiki [0], along with instructions on how >>>>> > >> to run >>>>> > >> the jdeps analysis tool yourself . >>>>> > >> >>>>> > >> As part of the ongoing development of JDK 9, I would like to >>>>> > >> encourage >>>>> > >> migration from JDK-internal APIs towards the supported Java APIs. I >>>>> > >> have >>>>> > >> prepared a report for your project release apache-maven-3.2.3 based >>>>> > >> on the >>>>> > >> jdeps output. >>>>> > >> >>>>> > >> The report is attached to this e-mail. >>>>> > >> >>>>> > >> For anything where your migration path is unclear, I would appreciate >>>>> > >> comments on the JDK-internal API usage patterns in the attached jdeps >>>>> > >> report - in particular comments elaborating on the rationale for >>>>> > >> them - >>>>> > >> either to me or on this list. >>>>> > >> >>>>> > >> Finding suitable replacements for unsupported interfaces is not >>>>> > >> always >>>>> > >> straightforward, which is why I am reaching out to you early in the >>>>> > >> JDK 9 >>>>> > >> development cycle so you can give feedback about new APIs that may be >>>>> > >> needed to facilitate this exercise. >>>>> > >> >>>>> > >> Thank you in advance for any efforts and feedback helping us make >>>>> > >> JDK 9 >>>>> > >> better. >>>>> > >> >>>>> > >> Rgds,Rory >>>>> > >> >>>>> > >> [0] https://wiki.openjdk.java.net/display/JDK8/Java+Dependency+ >>>>> > >> Analysis+Tool >>>>> > >> >>>>> > >> -- >>>>> > >> Rgds,Rory O'Donnell >>>>> > >> Quality Engineering Manager >>>>> > >> Oracle EMEA , Dublin, Ireland >>>>> > >> >>>>> > >> >>>>> > >> >>>>> > >> >>>>> > >> >>>>> > >> >>>>> > >>>>> > -- >>>>> > Rgds,Rory O'Donnell >>>>> > Quality Engineering Manager >>>>> > Oracle EMEA , Dublin, Ireland >>>>> > >>>>> > >>>>> > >>>>> > >>>>> >>>>> --------------------------------------------------------------------- >>>>> To unsubscribe, e-mail: [email protected] >>>>> For additional commands, e-mail: [email protected] >>>> >>>> >>>> >>>> -- >>>> E-Mail: [email protected] | [email protected] >>>> Java Persistence with Hibernate, Second Edition >>>> JUnit in Action, Second Edition >>>> Spring Batch in Action >>>> Blog: http://garygregory.wordpress.com >>>> Home: http://garygregory.com/ >>>> Tweet! http://twitter.com/GaryGregory >>> >>> -- >>> Rgds,Rory O'Donnell >>> Quality Engineering Manager >>> Oracle EMEA , Dublin, Ireland >>> >>> >>> >>> >> >> >> >> -- >> E-Mail: [email protected] | [email protected] >> Java Persistence with Hibernate, Second Edition >> JUnit in Action, Second Edition >> Spring Batch in Action >> Blog: http://garygregory.wordpress.com >> Home: http://garygregory.com/ >> Tweet! http://twitter.com/GaryGregory > > > > -- > E-Mail: [email protected] | [email protected] > Java Persistence with Hibernate, Second Edition > JUnit in Action, Second Edition > Spring Batch in Action > Blog: http://garygregory.wordpress.com > Home: http://garygregory.com/ > Tweet! http://twitter.com/GaryGregory
