You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jmeter.apache.org by "Rory O'Donnell Oracle, Dublin Ireland" <ro...@oracle.com> on 2014/09/24 10:14:23 UTC
Analysis of apache-jmeter-2.11 dependency on JDK-Internal APIs
Hi Philippe,
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-jmeter-2.11 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 mailing 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
Re: Fwd: Analysis of apache-jmeter-2.11 dependency on JDK-Internal APIs
Posted by Michael Glavassevich <mr...@ca.ibm.com>.
That's a backwards way of looking at it. Xerces and Xalan aren't using JDK
internal APIs. The JDK included these APIs from Xerces and Xalan.
Michael Glavassevich
XML Technologies and WAS Development
IBM Toronto Lab
E-mail: mrglavas@ca.ibm.com
E-mail: mrglavas@apache.org
sebb <se...@gmail.com> wrote on 09/27/2014 09:52:28 PM:
> We received this message on the JMeter developer list, however the
> findings apply to external projects such as yours.
> So I am forwarding the details to you.
> If you have any feedback, please address it directly to Oracle
> (addresses in e-mail header)
> Thanks!
> ---------- Forwarded message ----------
> From: Rory O'Donnell Oracle, Dublin Ireland <ro...@oracle.com>
> Date: 24 September 2014 11:29
> Subject: Re: Analysis of apache-jmeter-2.11 dependency on JDK-Internal
APIs
> To: dev@jmeter.apache.org
> Cc: Dalibor Topic <da...@oracle.com>, Balchandra Vaidya <
> Balchandra.Vaidya@oracle.com>
>
> Let me know if the report below is legible ?
> JDK Internal API Usage Report for apache-jmeter-2.11
> 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
> . 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 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
> if you would prefer.
> Summary of the analysis of the jar files within apache-jmeter-2.11:
> Numer of jar files depending on JDK-internal APIs: 7
> Internal APIs that have known replacements: 6
> Internal APIs that have no supported replacements: 63
> APIs that have known replacements:
>
> ID
>
> Replace Usage of
>
> With
>
> Inside
>
> 1
>
> org.w3c.dom.xpath.XPathEvaluator
>
> Use javax.xml.xpath @since 1.5
>
> lib/xalan-2.7.1.jar
>
> 2
>
> org.w3c.dom.xpath.XPathException
>
> Use javax.xml.xpath @since 1.5
>
> lib/xalan-2.7.1.jar
>
> 3
>
> org.w3c.dom.xpath.XPathExpression
>
> Use javax.xml.xpath @since 1.5
>
> lib/xalan-2.7.1.jar
>
> 4
>
> org.w3c.dom.xpath.XPathNSResolver
>
> Use javax.xml.xpath @since 1.5
>
> lib/xalan-2.7.1.jar
>
> 5
>
> org.w3c.dom.xpath.XPathNamespace
>
> Use javax.xml.xpath @since 1.5
>
> lib/xalan-2.7.1.jar
>
> 6
>
> org.w3c.dom.xpath.XPathResult
>
> Use javax.xml.xpath @since 1.5
>
> lib/xalan-2.7.1.jar
>
> JDK-internal APIs without supported replacements:
>
> ID
>
> Internal APIs (do not use)
>
> Used by
>
> java.awt.peer.ComponentPeer
>
> lib/bsh-2.0b5.jar
>
> 1
>
> Explanation...
>
> java.awt.peer.TextComponentPeer
>
> lib/bsh-2.0b5.jar
>
> 2
>
> Explanation...
>
> org.w3c.dom.html.HTMLAnchorElement
>
> lib/xercesImpl-2.9.1.jar
>
> 3
>
> Explanation...
>
> org.w3c.dom.html.HTMLAppletElement
>
> lib/xercesImpl-2.9.1.jar
>
> 4
>
> Explanation...
>
> org.w3c.dom.html.HTMLAreaElement
>
> lib/xercesImpl-2.9.1.jar
>
> 5
>
> Explanation...
>
> org.w3c.dom.html.HTMLBRElement
>
> lib/xercesImpl-2.9.1.jar
>
> 6
>
> Explanation...
>
> org.w3c.dom.html.HTMLBaseElement
>
> lib/xercesImpl-2.9.1.jar
>
> 7
>
> Explanation...
>
> org.w3c.dom.html.HTMLBaseFontElement
>
> lib/xercesImpl-2.9.1.jar
>
> 8
>
> Explanation...
>
> org.w3c.dom.html.HTMLBodyElement
>
> lib/xercesImpl-2.9.1.jar
>
> 9
>
> Explanation...
>
> org.w3c.dom.html.HTMLButtonElement
>
> lib/xercesImpl-2.9.1.jar
>
> 10
>
> Explanation...
>
> org.w3c.dom.html.HTMLCollection
>
> lib/xercesImpl-2.9.1.jar
>
> 11
>
> Explanation...
>
> org.w3c.dom.html.HTMLDListElement
>
> lib/xercesImpl-2.9.1.jar
>
> 12
>
> Explanation...
>
> org.w3c.dom.html.HTMLDirectoryElement
>
> lib/xercesImpl-2.9.1.jar
>
> 13
>
> Explanation...
>
> org.w3c.dom.html.HTMLDivElement
>
> lib/xercesImpl-2.9.1.jar
>
> 14
>
> Explanation...
>
> org.w3c.dom.html.HTMLDocument
>
> lib/xercesImpl-2.9.1.jar
>
> 15
>
> Explanation...
>
> org.w3c.dom.html.HTMLElement
>
> lib/xercesImpl-2.9.1.jar
>
> 16
>
> Explanation...
>
> org.w3c.dom.html.HTMLFieldSetElement
>
> lib/xercesImpl-2.9.1.jar
>
> 17
>
> Explanation...
>
> org.w3c.dom.html.HTMLFontElement
>
> lib/xercesImpl-2.9.1.jar
>
> 18
>
> Explanation...
>
> org.w3c.dom.html.HTMLFormElement
>
> lib/xercesImpl-2.9.1.jar
>
> 19
>
> Explanation...
>
> org.w3c.dom.html.HTMLFrameElement
>
> lib/xercesImpl-2.9.1.jar
>
> 20
>
> Explanation...
>
> org.w3c.dom.html.HTMLFrameSetElement
>
> lib/xercesImpl-2.9.1.jar
>
> 21
>
> Explanation...
>
> org.w3c.dom.html.HTMLHRElement
>
> lib/xercesImpl-2.9.1.jar
>
> 22
>
> Explanation...
>
> org.w3c.dom.html.HTMLHeadElement
>
> lib/xercesImpl-2.9.1.jar
>
> 23
>
> Explanation...
>
> org.w3c.dom.html.HTMLHeadingElement
>
> lib/xercesImpl-2.9.1.jar
>
> 24
>
> Explanation...
>
> org.w3c.dom.html.HTMLHtmlElement
>
> lib/xercesImpl-2.9.1.jar
>
> 25
>
> Explanation...
>
> org.w3c.dom.html.HTMLIFrameElement
>
> lib/xercesImpl-2.9.1.jar
>
> 26
>
> Explanation...
>
> org.w3c.dom.html.HTMLImageElement
>
> lib/xercesImpl-2.9.1.jar
>
> 27
>
> Explanation...
>
> org.w3c.dom.html.HTMLInputElement
>
> lib/xercesImpl-2.9.1.jar
>
> 28
>
> Explanation...
>
> org.w3c.dom.html.HTMLIsIndexElement
>
> lib/xercesImpl-2.9.1.jar
>
> 29
>
> Explanation...
>
> org.w3c.dom.html.HTMLLIElement
>
> lib/xercesImpl-2.9.1.jar
>
> 30
>
> Explanation...
>
> org.w3c.dom.html.HTMLLabelElement
>
> lib/xercesImpl-2.9.1.jar
>
> 31
>
> Explanation...
>
> org.w3c.dom.html.HTMLLegendElement
>
> lib/xercesImpl-2.9.1.jar
>
> 32
>
> Explanation...
>
> org.w3c.dom.html.HTMLLinkElement
>
> lib/xercesImpl-2.9.1.jar
>
> 33
>
> Explanation...
>
> org.w3c.dom.html.HTMLMapElement
>
> lib/xercesImpl-2.9.1.jar
>
> 34
>
> Explanation...
>
> org.w3c.dom.html.HTMLMenuElement
>
> lib/xercesImpl-2.9.1.jar
>
> 35
>
> Explanation...
>
> org.w3c.dom.html.HTMLMetaElement
>
> lib/xercesImpl-2.9.1.jar
>
> 36
>
> Explanation...
>
> org.w3c.dom.html.HTMLModElement
>
> lib/xercesImpl-2.9.1.jar
>
> 37
>
> Explanation...
>
> org.w3c.dom.html.HTMLOListElement
>
> lib/xercesImpl-2.9.1.jar
>
> 38
>
> Explanation...
>
> org.w3c.dom.html.HTMLObjectElement
>
> lib/xercesImpl-2.9.1.jar
>
> 39
>
> Explanation...
>
> org.w3c.dom.html.HTMLOptGroupElement
>
> lib/xercesImpl-2.9.1.jar
>
> 40
>
> Explanation...
>
> org.w3c.dom.html.HTMLOptionElement
>
> lib/xercesImpl-2.9.1.jar
>
> 41
>
> Explanation...
>
> org.w3c.dom.html.HTMLParagraphElement
>
> lib/xercesImpl-2.9.1.jar
>
> 42
>
> Explanation...
>
> org.w3c.dom.html.HTMLParamElement
>
> lib/xercesImpl-2.9.1.jar
>
> 43
>
> Explanation...
>
> org.w3c.dom.html.HTMLPreElement
>
> lib/xercesImpl-2.9.1.jar
>
> 44
>
> Explanation...
>
> org.w3c.dom.html.HTMLQuoteElement
>
> lib/xercesImpl-2.9.1.jar
>
> 45
>
> Explanation...
>
> org.w3c.dom.html.HTMLScriptElement
>
> lib/xercesImpl-2.9.1.jar
>
> 46
>
> Explanation...
>
> org.w3c.dom.html.HTMLSelectElement
>
> lib/xercesImpl-2.9.1.jar
>
> 47
>
> Explanation...
>
> org.w3c.dom.html.HTMLStyleElement
>
> lib/xercesImpl-2.9.1.jar
>
> 48
>
> Explanation...
>
> org.w3c.dom.html.HTMLTableCaptionElement
>
> lib/xercesImpl-2.9.1.jar
>
> 49
>
> Explanation...
>
> org.w3c.dom.html.HTMLTableCellElement
>
> lib/xercesImpl-2.9.1.jar
>
> 50
>
> Explanation...
>
> org.w3c.dom.html.HTMLTableColElement
>
> lib/xercesImpl-2.9.1.jar
>
> 51
>
> Explanation...
>
> org.w3c.dom.html.HTMLTableElement
>
> lib/xercesImpl-2.9.1.jar
>
> 52
>
> Explanation...
>
> org.w3c.dom.html.HTMLTableRowElement
>
> lib/xercesImpl-2.9.1.jar
>
> 53
>
> Explanation...
>
> org.w3c.dom.html.HTMLTableSectionElement
>
> lib/xercesImpl-2.9.1.jar
>
> 54
>
> Explanation...
>
> org.w3c.dom.html.HTMLTextAreaElement
>
> lib/xercesImpl-2.9.1.jar
>
> 55
>
> Explanation...
>
> org.w3c.dom.html.HTMLTitleElement
>
> lib/xercesImpl-2.9.1.jar
>
> 56
>
> Explanation...
>
> org.w3c.dom.html.HTMLUListElement
>
> lib/xercesImpl-2.9.1.jar
>
> 57
>
> Explanation...
>
> org.w3c.dom.ranges.DocumentRange
>
> lib/xercesImpl-2.9.1.jar
>
> 58
>
> Explanation...
>
> org.w3c.dom.ranges.Range
>
> lib/xercesImpl-2.9.1.jar
>
> 59
>
> Explanation...
>
> org.w3c.dom.ranges.RangeException
>
> lib/xercesImpl-2.9.1.jar
>
> 60
>
> Explanation...
>
> sun.misc.Unsafe
>
> lib/jodd-core-3.4.10.jar
> lib/xstream-1.4.4.jar
>
> 61
>
> Explanation...
>
> sun.net.www.protocol.http.HttpURLConnection
>
> lib/soap-2.3.1.jar
>
> 62
>
> Explanation...
>
> sun.reflect.ReflectionFactory
>
> lib/xstream-1.4.4.jar
>
> 63
>
> 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 24/09/2014 11:27, sebb wrote:
> On 24 September 2014 09:14, Rory O'Donnell Oracle, Dublin Ireland
> <ro...@oracle.com> wrote:
> Hi Philippe,
>
> 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-jmeter-2.11 based on
the
> jdeps output.
>
> The report is attached to this e-mail.
> We did not get the report - the mailing list drops attachments.
>
> If you can upload the report somewhere public and post the URL, that
> would be great.
> Alternatively, please create a Bugzilla issue [1] and attach the report
there.
> Thanks.
>
> [1] http://jmeter.apache.org/issues.html
>
> 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 mailing 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
>
>
>
>
Re: Fwd: Analysis of apache-jmeter-2.11 dependency on JDK-Internal APIs
Posted by Michael Glavassevich <mr...@ca.ibm.com>.
That's a backwards way of looking at it. Xerces and Xalan aren't using JDK
internal APIs. The JDK included these APIs from Xerces and Xalan.
Michael Glavassevich
XML Technologies and WAS Development
IBM Toronto Lab
E-mail: mrglavas@ca.ibm.com
E-mail: mrglavas@apache.org
sebb <se...@gmail.com> wrote on 09/27/2014 09:52:28 PM:
> We received this message on the JMeter developer list, however the
> findings apply to external projects such as yours.
> So I am forwarding the details to you.
> If you have any feedback, please address it directly to Oracle
> (addresses in e-mail header)
> Thanks!
> ---------- Forwarded message ----------
> From: Rory O'Donnell Oracle, Dublin Ireland <ro...@oracle.com>
> Date: 24 September 2014 11:29
> Subject: Re: Analysis of apache-jmeter-2.11 dependency on JDK-Internal
APIs
> To: dev@jmeter.apache.org
> Cc: Dalibor Topic <da...@oracle.com>, Balchandra Vaidya <
> Balchandra.Vaidya@oracle.com>
>
> Let me know if the report below is legible ?
> JDK Internal API Usage Report for apache-jmeter-2.11
> 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
> . 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 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
> if you would prefer.
> Summary of the analysis of the jar files within apache-jmeter-2.11:
> Numer of jar files depending on JDK-internal APIs: 7
> Internal APIs that have known replacements: 6
> Internal APIs that have no supported replacements: 63
> APIs that have known replacements:
>
> ID
>
> Replace Usage of
>
> With
>
> Inside
>
> 1
>
> org.w3c.dom.xpath.XPathEvaluator
>
> Use javax.xml.xpath @since 1.5
>
> lib/xalan-2.7.1.jar
>
> 2
>
> org.w3c.dom.xpath.XPathException
>
> Use javax.xml.xpath @since 1.5
>
> lib/xalan-2.7.1.jar
>
> 3
>
> org.w3c.dom.xpath.XPathExpression
>
> Use javax.xml.xpath @since 1.5
>
> lib/xalan-2.7.1.jar
>
> 4
>
> org.w3c.dom.xpath.XPathNSResolver
>
> Use javax.xml.xpath @since 1.5
>
> lib/xalan-2.7.1.jar
>
> 5
>
> org.w3c.dom.xpath.XPathNamespace
>
> Use javax.xml.xpath @since 1.5
>
> lib/xalan-2.7.1.jar
>
> 6
>
> org.w3c.dom.xpath.XPathResult
>
> Use javax.xml.xpath @since 1.5
>
> lib/xalan-2.7.1.jar
>
> JDK-internal APIs without supported replacements:
>
> ID
>
> Internal APIs (do not use)
>
> Used by
>
> java.awt.peer.ComponentPeer
>
> lib/bsh-2.0b5.jar
>
> 1
>
> Explanation...
>
> java.awt.peer.TextComponentPeer
>
> lib/bsh-2.0b5.jar
>
> 2
>
> Explanation...
>
> org.w3c.dom.html.HTMLAnchorElement
>
> lib/xercesImpl-2.9.1.jar
>
> 3
>
> Explanation...
>
> org.w3c.dom.html.HTMLAppletElement
>
> lib/xercesImpl-2.9.1.jar
>
> 4
>
> Explanation...
>
> org.w3c.dom.html.HTMLAreaElement
>
> lib/xercesImpl-2.9.1.jar
>
> 5
>
> Explanation...
>
> org.w3c.dom.html.HTMLBRElement
>
> lib/xercesImpl-2.9.1.jar
>
> 6
>
> Explanation...
>
> org.w3c.dom.html.HTMLBaseElement
>
> lib/xercesImpl-2.9.1.jar
>
> 7
>
> Explanation...
>
> org.w3c.dom.html.HTMLBaseFontElement
>
> lib/xercesImpl-2.9.1.jar
>
> 8
>
> Explanation...
>
> org.w3c.dom.html.HTMLBodyElement
>
> lib/xercesImpl-2.9.1.jar
>
> 9
>
> Explanation...
>
> org.w3c.dom.html.HTMLButtonElement
>
> lib/xercesImpl-2.9.1.jar
>
> 10
>
> Explanation...
>
> org.w3c.dom.html.HTMLCollection
>
> lib/xercesImpl-2.9.1.jar
>
> 11
>
> Explanation...
>
> org.w3c.dom.html.HTMLDListElement
>
> lib/xercesImpl-2.9.1.jar
>
> 12
>
> Explanation...
>
> org.w3c.dom.html.HTMLDirectoryElement
>
> lib/xercesImpl-2.9.1.jar
>
> 13
>
> Explanation...
>
> org.w3c.dom.html.HTMLDivElement
>
> lib/xercesImpl-2.9.1.jar
>
> 14
>
> Explanation...
>
> org.w3c.dom.html.HTMLDocument
>
> lib/xercesImpl-2.9.1.jar
>
> 15
>
> Explanation...
>
> org.w3c.dom.html.HTMLElement
>
> lib/xercesImpl-2.9.1.jar
>
> 16
>
> Explanation...
>
> org.w3c.dom.html.HTMLFieldSetElement
>
> lib/xercesImpl-2.9.1.jar
>
> 17
>
> Explanation...
>
> org.w3c.dom.html.HTMLFontElement
>
> lib/xercesImpl-2.9.1.jar
>
> 18
>
> Explanation...
>
> org.w3c.dom.html.HTMLFormElement
>
> lib/xercesImpl-2.9.1.jar
>
> 19
>
> Explanation...
>
> org.w3c.dom.html.HTMLFrameElement
>
> lib/xercesImpl-2.9.1.jar
>
> 20
>
> Explanation...
>
> org.w3c.dom.html.HTMLFrameSetElement
>
> lib/xercesImpl-2.9.1.jar
>
> 21
>
> Explanation...
>
> org.w3c.dom.html.HTMLHRElement
>
> lib/xercesImpl-2.9.1.jar
>
> 22
>
> Explanation...
>
> org.w3c.dom.html.HTMLHeadElement
>
> lib/xercesImpl-2.9.1.jar
>
> 23
>
> Explanation...
>
> org.w3c.dom.html.HTMLHeadingElement
>
> lib/xercesImpl-2.9.1.jar
>
> 24
>
> Explanation...
>
> org.w3c.dom.html.HTMLHtmlElement
>
> lib/xercesImpl-2.9.1.jar
>
> 25
>
> Explanation...
>
> org.w3c.dom.html.HTMLIFrameElement
>
> lib/xercesImpl-2.9.1.jar
>
> 26
>
> Explanation...
>
> org.w3c.dom.html.HTMLImageElement
>
> lib/xercesImpl-2.9.1.jar
>
> 27
>
> Explanation...
>
> org.w3c.dom.html.HTMLInputElement
>
> lib/xercesImpl-2.9.1.jar
>
> 28
>
> Explanation...
>
> org.w3c.dom.html.HTMLIsIndexElement
>
> lib/xercesImpl-2.9.1.jar
>
> 29
>
> Explanation...
>
> org.w3c.dom.html.HTMLLIElement
>
> lib/xercesImpl-2.9.1.jar
>
> 30
>
> Explanation...
>
> org.w3c.dom.html.HTMLLabelElement
>
> lib/xercesImpl-2.9.1.jar
>
> 31
>
> Explanation...
>
> org.w3c.dom.html.HTMLLegendElement
>
> lib/xercesImpl-2.9.1.jar
>
> 32
>
> Explanation...
>
> org.w3c.dom.html.HTMLLinkElement
>
> lib/xercesImpl-2.9.1.jar
>
> 33
>
> Explanation...
>
> org.w3c.dom.html.HTMLMapElement
>
> lib/xercesImpl-2.9.1.jar
>
> 34
>
> Explanation...
>
> org.w3c.dom.html.HTMLMenuElement
>
> lib/xercesImpl-2.9.1.jar
>
> 35
>
> Explanation...
>
> org.w3c.dom.html.HTMLMetaElement
>
> lib/xercesImpl-2.9.1.jar
>
> 36
>
> Explanation...
>
> org.w3c.dom.html.HTMLModElement
>
> lib/xercesImpl-2.9.1.jar
>
> 37
>
> Explanation...
>
> org.w3c.dom.html.HTMLOListElement
>
> lib/xercesImpl-2.9.1.jar
>
> 38
>
> Explanation...
>
> org.w3c.dom.html.HTMLObjectElement
>
> lib/xercesImpl-2.9.1.jar
>
> 39
>
> Explanation...
>
> org.w3c.dom.html.HTMLOptGroupElement
>
> lib/xercesImpl-2.9.1.jar
>
> 40
>
> Explanation...
>
> org.w3c.dom.html.HTMLOptionElement
>
> lib/xercesImpl-2.9.1.jar
>
> 41
>
> Explanation...
>
> org.w3c.dom.html.HTMLParagraphElement
>
> lib/xercesImpl-2.9.1.jar
>
> 42
>
> Explanation...
>
> org.w3c.dom.html.HTMLParamElement
>
> lib/xercesImpl-2.9.1.jar
>
> 43
>
> Explanation...
>
> org.w3c.dom.html.HTMLPreElement
>
> lib/xercesImpl-2.9.1.jar
>
> 44
>
> Explanation...
>
> org.w3c.dom.html.HTMLQuoteElement
>
> lib/xercesImpl-2.9.1.jar
>
> 45
>
> Explanation...
>
> org.w3c.dom.html.HTMLScriptElement
>
> lib/xercesImpl-2.9.1.jar
>
> 46
>
> Explanation...
>
> org.w3c.dom.html.HTMLSelectElement
>
> lib/xercesImpl-2.9.1.jar
>
> 47
>
> Explanation...
>
> org.w3c.dom.html.HTMLStyleElement
>
> lib/xercesImpl-2.9.1.jar
>
> 48
>
> Explanation...
>
> org.w3c.dom.html.HTMLTableCaptionElement
>
> lib/xercesImpl-2.9.1.jar
>
> 49
>
> Explanation...
>
> org.w3c.dom.html.HTMLTableCellElement
>
> lib/xercesImpl-2.9.1.jar
>
> 50
>
> Explanation...
>
> org.w3c.dom.html.HTMLTableColElement
>
> lib/xercesImpl-2.9.1.jar
>
> 51
>
> Explanation...
>
> org.w3c.dom.html.HTMLTableElement
>
> lib/xercesImpl-2.9.1.jar
>
> 52
>
> Explanation...
>
> org.w3c.dom.html.HTMLTableRowElement
>
> lib/xercesImpl-2.9.1.jar
>
> 53
>
> Explanation...
>
> org.w3c.dom.html.HTMLTableSectionElement
>
> lib/xercesImpl-2.9.1.jar
>
> 54
>
> Explanation...
>
> org.w3c.dom.html.HTMLTextAreaElement
>
> lib/xercesImpl-2.9.1.jar
>
> 55
>
> Explanation...
>
> org.w3c.dom.html.HTMLTitleElement
>
> lib/xercesImpl-2.9.1.jar
>
> 56
>
> Explanation...
>
> org.w3c.dom.html.HTMLUListElement
>
> lib/xercesImpl-2.9.1.jar
>
> 57
>
> Explanation...
>
> org.w3c.dom.ranges.DocumentRange
>
> lib/xercesImpl-2.9.1.jar
>
> 58
>
> Explanation...
>
> org.w3c.dom.ranges.Range
>
> lib/xercesImpl-2.9.1.jar
>
> 59
>
> Explanation...
>
> org.w3c.dom.ranges.RangeException
>
> lib/xercesImpl-2.9.1.jar
>
> 60
>
> Explanation...
>
> sun.misc.Unsafe
>
> lib/jodd-core-3.4.10.jar
> lib/xstream-1.4.4.jar
>
> 61
>
> Explanation...
>
> sun.net.www.protocol.http.HttpURLConnection
>
> lib/soap-2.3.1.jar
>
> 62
>
> Explanation...
>
> sun.reflect.ReflectionFactory
>
> lib/xstream-1.4.4.jar
>
> 63
>
> 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 24/09/2014 11:27, sebb wrote:
> On 24 September 2014 09:14, Rory O'Donnell Oracle, Dublin Ireland
> <ro...@oracle.com> wrote:
> Hi Philippe,
>
> 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-jmeter-2.11 based on
the
> jdeps output.
>
> The report is attached to this e-mail.
> We did not get the report - the mailing list drops attachments.
>
> If you can upload the report somewhere public and post the URL, that
> would be great.
> Alternatively, please create a Bugzilla issue [1] and attach the report
there.
> Thanks.
>
> [1] http://jmeter.apache.org/issues.html
>
> 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 mailing 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
>
>
>
>
Fwd: Analysis of apache-jmeter-2.11 dependency on JDK-Internal APIs
Posted by sebb <se...@gmail.com>.
We received this message on the JMeter developer list, however the findings
apply to external projects such as yours.
So I am forwarding the details to you.
If you have any feedback, please address it directly to Oracle (addresses
in e-mail header)
Thanks!
---------- Forwarded message ----------
From: Rory O'Donnell Oracle, Dublin Ireland <ro...@oracle.com>
Date: 24 September 2014 11:29
Subject: Re: Analysis of apache-jmeter-2.11 dependency on JDK-Internal APIs
To: dev@jmeter.apache.org
Cc: Dalibor Topic <da...@oracle.com>, Balchandra Vaidya <
Balchandra.Vaidya@oracle.com>
Let me know if the report below is legible ?
JDK Internal API Usage Report for apache-jmeter-2.11
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-jmeter-2.11:
- Numer of jar files depending on JDK-internal APIs: 7
- Internal APIs that have known replacements: 6
- Internal APIs that have no supported replacements: 63
APIs that have known replacements
<https://wiki.openjdk.java.net/display/JDK8/Java+Dependency+Analysis+Tool>:
ID Replace Usage of With Inside 1 org.w3c.dom.xpath.XPathEvaluator Use
javax.xml.xpath @since 1.5
- lib/xalan-2.7.1.jar
2 org.w3c.dom.xpath.XPathException Use javax.xml.xpath @since 1.5
- lib/xalan-2.7.1.jar
3 org.w3c.dom.xpath.XPathExpression Use javax.xml.xpath @since 1.5
- lib/xalan-2.7.1.jar
4 org.w3c.dom.xpath.XPathNSResolver Use javax.xml.xpath @since 1.5
- lib/xalan-2.7.1.jar
5 org.w3c.dom.xpath.XPathNamespace Use javax.xml.xpath @since 1.5
- lib/xalan-2.7.1.jar
6 org.w3c.dom.xpath.XPathResult Use javax.xml.xpath @since 1.5
- lib/xalan-2.7.1.jar
JDK-internal APIs without supported replacements: ID Internal APIs (do
not use) Used by 1 java.awt.peer.ComponentPeer
- lib/bsh-2.0b5.jar
Explanation... 2 java.awt.peer.TextComponentPeer
- lib/bsh-2.0b5.jar
Explanation... 3 org.w3c.dom.html.HTMLAnchorElement
- lib/xercesImpl-2.9.1.jar
Explanation... 4 org.w3c.dom.html.HTMLAppletElement
- lib/xercesImpl-2.9.1.jar
Explanation... 5 org.w3c.dom.html.HTMLAreaElement
- lib/xercesImpl-2.9.1.jar
Explanation... 6 org.w3c.dom.html.HTMLBRElement
- lib/xercesImpl-2.9.1.jar
Explanation... 7 org.w3c.dom.html.HTMLBaseElement
- lib/xercesImpl-2.9.1.jar
Explanation... 8 org.w3c.dom.html.HTMLBaseFontElement
- lib/xercesImpl-2.9.1.jar
Explanation... 9 org.w3c.dom.html.HTMLBodyElement
- lib/xercesImpl-2.9.1.jar
Explanation... 10 org.w3c.dom.html.HTMLButtonElement
- lib/xercesImpl-2.9.1.jar
Explanation... 11 org.w3c.dom.html.HTMLCollection
- lib/xercesImpl-2.9.1.jar
Explanation... 12 org.w3c.dom.html.HTMLDListElement
- lib/xercesImpl-2.9.1.jar
Explanation... 13 org.w3c.dom.html.HTMLDirectoryElement
- lib/xercesImpl-2.9.1.jar
Explanation... 14 org.w3c.dom.html.HTMLDivElement
- lib/xercesImpl-2.9.1.jar
Explanation... 15 org.w3c.dom.html.HTMLDocument
- lib/xercesImpl-2.9.1.jar
Explanation... 16 org.w3c.dom.html.HTMLElement
- lib/xercesImpl-2.9.1.jar
Explanation... 17 org.w3c.dom.html.HTMLFieldSetElement
- lib/xercesImpl-2.9.1.jar
Explanation... 18 org.w3c.dom.html.HTMLFontElement
- lib/xercesImpl-2.9.1.jar
Explanation... 19 org.w3c.dom.html.HTMLFormElement
- lib/xercesImpl-2.9.1.jar
Explanation... 20 org.w3c.dom.html.HTMLFrameElement
- lib/xercesImpl-2.9.1.jar
Explanation... 21 org.w3c.dom.html.HTMLFrameSetElement
- lib/xercesImpl-2.9.1.jar
Explanation... 22 org.w3c.dom.html.HTMLHRElement
- lib/xercesImpl-2.9.1.jar
Explanation... 23 org.w3c.dom.html.HTMLHeadElement
- lib/xercesImpl-2.9.1.jar
Explanation... 24 org.w3c.dom.html.HTMLHeadingElement
- lib/xercesImpl-2.9.1.jar
Explanation... 25 org.w3c.dom.html.HTMLHtmlElement
- lib/xercesImpl-2.9.1.jar
Explanation... 26 org.w3c.dom.html.HTMLIFrameElement
- lib/xercesImpl-2.9.1.jar
Explanation... 27 org.w3c.dom.html.HTMLImageElement
- lib/xercesImpl-2.9.1.jar
Explanation... 28 org.w3c.dom.html.HTMLInputElement
- lib/xercesImpl-2.9.1.jar
Explanation... 29 org.w3c.dom.html.HTMLIsIndexElement
- lib/xercesImpl-2.9.1.jar
Explanation... 30 org.w3c.dom.html.HTMLLIElement
- lib/xercesImpl-2.9.1.jar
Explanation... 31 org.w3c.dom.html.HTMLLabelElement
- lib/xercesImpl-2.9.1.jar
Explanation... 32 org.w3c.dom.html.HTMLLegendElement
- lib/xercesImpl-2.9.1.jar
Explanation... 33 org.w3c.dom.html.HTMLLinkElement
- lib/xercesImpl-2.9.1.jar
Explanation... 34 org.w3c.dom.html.HTMLMapElement
- lib/xercesImpl-2.9.1.jar
Explanation... 35 org.w3c.dom.html.HTMLMenuElement
- lib/xercesImpl-2.9.1.jar
Explanation... 36 org.w3c.dom.html.HTMLMetaElement
- lib/xercesImpl-2.9.1.jar
Explanation... 37 org.w3c.dom.html.HTMLModElement
- lib/xercesImpl-2.9.1.jar
Explanation... 38 org.w3c.dom.html.HTMLOListElement
- lib/xercesImpl-2.9.1.jar
Explanation... 39 org.w3c.dom.html.HTMLObjectElement
- lib/xercesImpl-2.9.1.jar
Explanation... 40 org.w3c.dom.html.HTMLOptGroupElement
- lib/xercesImpl-2.9.1.jar
Explanation... 41 org.w3c.dom.html.HTMLOptionElement
- lib/xercesImpl-2.9.1.jar
Explanation... 42 org.w3c.dom.html.HTMLParagraphElement
- lib/xercesImpl-2.9.1.jar
Explanation... 43 org.w3c.dom.html.HTMLParamElement
- lib/xercesImpl-2.9.1.jar
Explanation... 44 org.w3c.dom.html.HTMLPreElement
- lib/xercesImpl-2.9.1.jar
Explanation... 45 org.w3c.dom.html.HTMLQuoteElement
- lib/xercesImpl-2.9.1.jar
Explanation... 46 org.w3c.dom.html.HTMLScriptElement
- lib/xercesImpl-2.9.1.jar
Explanation... 47 org.w3c.dom.html.HTMLSelectElement
- lib/xercesImpl-2.9.1.jar
Explanation... 48 org.w3c.dom.html.HTMLStyleElement
- lib/xercesImpl-2.9.1.jar
Explanation... 49 org.w3c.dom.html.HTMLTableCaptionElement
- lib/xercesImpl-2.9.1.jar
Explanation... 50 org.w3c.dom.html.HTMLTableCellElement
- lib/xercesImpl-2.9.1.jar
Explanation... 51 org.w3c.dom.html.HTMLTableColElement
- lib/xercesImpl-2.9.1.jar
Explanation... 52 org.w3c.dom.html.HTMLTableElement
- lib/xercesImpl-2.9.1.jar
Explanation... 53 org.w3c.dom.html.HTMLTableRowElement
- lib/xercesImpl-2.9.1.jar
Explanation... 54 org.w3c.dom.html.HTMLTableSectionElement
- lib/xercesImpl-2.9.1.jar
Explanation... 55 org.w3c.dom.html.HTMLTextAreaElement
- lib/xercesImpl-2.9.1.jar
Explanation... 56 org.w3c.dom.html.HTMLTitleElement
- lib/xercesImpl-2.9.1.jar
Explanation... 57 org.w3c.dom.html.HTMLUListElement
- lib/xercesImpl-2.9.1.jar
Explanation... 58 org.w3c.dom.ranges.DocumentRange
- lib/xercesImpl-2.9.1.jar
Explanation... 59 org.w3c.dom.ranges.Range
- lib/xercesImpl-2.9.1.jar
Explanation... 60 org.w3c.dom.ranges.RangeException
- lib/xercesImpl-2.9.1.jar
Explanation... 61 sun.misc.Unsafe
- lib/jodd-core-3.4.10.jar
- lib/xstream-1.4.4.jar
Explanation... 62 sun.net.www.protocol.http.HttpURLConnection
- lib/soap-2.3.1.jar
Explanation... 63 sun.reflect.ReflectionFactory
- lib/xstream-1.4.4.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 24/09/2014 11:27, sebb wrote:
On 24 September 2014 09:14, Rory O'Donnell Oracle, Dublin
Ireland<ro...@oracle.com> <ro...@oracle.com> wrote:
Hi Philippe,
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-jmeter-2.11 based on the
jdeps output.
The report is attached to this e-mail.
We did not get the report - the mailing list drops attachments.
If you can upload the report somewhere public and post the URL, that
would be great.
Alternatively, please create a Bugzilla issue [1] and attach the report there.
Thanks.
[1] http://jmeter.apache.org/issues.html
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 mailing 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
Re: Analysis of apache-jmeter-2.11 dependency on JDK-Internal APIs
Posted by Rory O'Donnell <ro...@oracle.com>.
On 25/09/2014 17:31, sebb wrote:
>
> On 24 September 2014 11:29, Rory O'Donnell Oracle, Dublin Ireland
> <rory.odonnell@oracle.com <ma...@oracle.com>> wrote:
>
> Let me know if the report below is legible ?
>
>
> Yes, thanks.
>
>
> JDK Internal API Usage Report for apache-jmeter-2.11
>
> 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-jmeter-2.11:
>
> * Numer of jar files depending on JDK-internal APIs: 7
> * Internal APIs that have known replacements: 6
> * Internal APIs that have no supported replacements: 63
>
>
> It looks like all the issues relate to jars which are not part of
> JMeter itself (they are dependencies that are bundled with the binary
> release).
>
> So I'm afraid that there's not a lot we can do in the JMeter project
> apart from not using the dependencies - however that is not an option.
>
> The report really needs to be addressed to the projects that produces
> the jars:
>
> xalan - http://xalan.apache.org/
> xerces - http://xerces.apache.org/
> jodd - http://jodd.org/
> xstream - http://xstream.codehaus.org/
> soap - Apache SOAP - no longer maintained
> bsh - BeanShell ??
>
>
I agree with you, you should pass the report to these guys and advise
them to migrate away from the JDK-internal APIs now.
Rgds,Rory
--
Rgds,Rory O'Donnell
Quality Engineering Manager
Oracle EMEA , Dublin, Ireland
Re: Analysis of apache-jmeter-2.11 dependency on JDK-Internal APIs
Posted by sebb <se...@gmail.com>.
On 24 September 2014 11:29, Rory O'Donnell Oracle, Dublin Ireland <
rory.odonnell@oracle.com> wrote:
> Let me know if the report below is legible ?
>
Yes, thanks.
> JDK Internal API Usage Report for apache-jmeter-2.11
>
> 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-jmeter-2.11:
>
> - Numer of jar files depending on JDK-internal APIs: 7
> - Internal APIs that have known replacements: 6
> - Internal APIs that have no supported replacements: 63
>
>
It looks like all the issues relate to jars which are not part of JMeter
itself (they are dependencies that are bundled with the binary release).
So I'm afraid that there's not a lot we can do in the JMeter project apart
from not using the dependencies - however that is not an option.
The report really needs to be addressed to the projects that produces the
jars:
xalan - http://xalan.apache.org/
xerces - http://xerces.apache.org/
jodd - http://jodd.org/
xstream - http://xstream.codehaus.org/
soap - Apache SOAP - no longer maintained
bsh - BeanShell ??
Fwd: Analysis of apache-jmeter-2.11 dependency on JDK-Internal APIs
Posted by sebb <se...@gmail.com>.
We received this message on the JMeter developer list, however the findings
apply to external projects such as yours.
So I am forwarding the details to you.
If you have any feedback, please address it directly to Oracle (addresses
in e-mail header)
Thanks!
---------- Forwarded message ----------
From: Rory O'Donnell Oracle, Dublin Ireland <ro...@oracle.com>
Date: 24 September 2014 11:29
Subject: Re: Analysis of apache-jmeter-2.11 dependency on JDK-Internal APIs
To: dev@jmeter.apache.org
Cc: Dalibor Topic <da...@oracle.com>, Balchandra Vaidya <
Balchandra.Vaidya@oracle.com>
Let me know if the report below is legible ?
JDK Internal API Usage Report for apache-jmeter-2.11
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-jmeter-2.11:
- Numer of jar files depending on JDK-internal APIs: 7
- Internal APIs that have known replacements: 6
- Internal APIs that have no supported replacements: 63
APIs that have known replacements
<https://wiki.openjdk.java.net/display/JDK8/Java+Dependency+Analysis+Tool>:
ID Replace Usage of With Inside 1 org.w3c.dom.xpath.XPathEvaluator Use
javax.xml.xpath @since 1.5
- lib/xalan-2.7.1.jar
2 org.w3c.dom.xpath.XPathException Use javax.xml.xpath @since 1.5
- lib/xalan-2.7.1.jar
3 org.w3c.dom.xpath.XPathExpression Use javax.xml.xpath @since 1.5
- lib/xalan-2.7.1.jar
4 org.w3c.dom.xpath.XPathNSResolver Use javax.xml.xpath @since 1.5
- lib/xalan-2.7.1.jar
5 org.w3c.dom.xpath.XPathNamespace Use javax.xml.xpath @since 1.5
- lib/xalan-2.7.1.jar
6 org.w3c.dom.xpath.XPathResult Use javax.xml.xpath @since 1.5
- lib/xalan-2.7.1.jar
JDK-internal APIs without supported replacements: ID Internal APIs (do
not use) Used by 1 java.awt.peer.ComponentPeer
- lib/bsh-2.0b5.jar
Explanation... 2 java.awt.peer.TextComponentPeer
- lib/bsh-2.0b5.jar
Explanation... 3 org.w3c.dom.html.HTMLAnchorElement
- lib/xercesImpl-2.9.1.jar
Explanation... 4 org.w3c.dom.html.HTMLAppletElement
- lib/xercesImpl-2.9.1.jar
Explanation... 5 org.w3c.dom.html.HTMLAreaElement
- lib/xercesImpl-2.9.1.jar
Explanation... 6 org.w3c.dom.html.HTMLBRElement
- lib/xercesImpl-2.9.1.jar
Explanation... 7 org.w3c.dom.html.HTMLBaseElement
- lib/xercesImpl-2.9.1.jar
Explanation... 8 org.w3c.dom.html.HTMLBaseFontElement
- lib/xercesImpl-2.9.1.jar
Explanation... 9 org.w3c.dom.html.HTMLBodyElement
- lib/xercesImpl-2.9.1.jar
Explanation... 10 org.w3c.dom.html.HTMLButtonElement
- lib/xercesImpl-2.9.1.jar
Explanation... 11 org.w3c.dom.html.HTMLCollection
- lib/xercesImpl-2.9.1.jar
Explanation... 12 org.w3c.dom.html.HTMLDListElement
- lib/xercesImpl-2.9.1.jar
Explanation... 13 org.w3c.dom.html.HTMLDirectoryElement
- lib/xercesImpl-2.9.1.jar
Explanation... 14 org.w3c.dom.html.HTMLDivElement
- lib/xercesImpl-2.9.1.jar
Explanation... 15 org.w3c.dom.html.HTMLDocument
- lib/xercesImpl-2.9.1.jar
Explanation... 16 org.w3c.dom.html.HTMLElement
- lib/xercesImpl-2.9.1.jar
Explanation... 17 org.w3c.dom.html.HTMLFieldSetElement
- lib/xercesImpl-2.9.1.jar
Explanation... 18 org.w3c.dom.html.HTMLFontElement
- lib/xercesImpl-2.9.1.jar
Explanation... 19 org.w3c.dom.html.HTMLFormElement
- lib/xercesImpl-2.9.1.jar
Explanation... 20 org.w3c.dom.html.HTMLFrameElement
- lib/xercesImpl-2.9.1.jar
Explanation... 21 org.w3c.dom.html.HTMLFrameSetElement
- lib/xercesImpl-2.9.1.jar
Explanation... 22 org.w3c.dom.html.HTMLHRElement
- lib/xercesImpl-2.9.1.jar
Explanation... 23 org.w3c.dom.html.HTMLHeadElement
- lib/xercesImpl-2.9.1.jar
Explanation... 24 org.w3c.dom.html.HTMLHeadingElement
- lib/xercesImpl-2.9.1.jar
Explanation... 25 org.w3c.dom.html.HTMLHtmlElement
- lib/xercesImpl-2.9.1.jar
Explanation... 26 org.w3c.dom.html.HTMLIFrameElement
- lib/xercesImpl-2.9.1.jar
Explanation... 27 org.w3c.dom.html.HTMLImageElement
- lib/xercesImpl-2.9.1.jar
Explanation... 28 org.w3c.dom.html.HTMLInputElement
- lib/xercesImpl-2.9.1.jar
Explanation... 29 org.w3c.dom.html.HTMLIsIndexElement
- lib/xercesImpl-2.9.1.jar
Explanation... 30 org.w3c.dom.html.HTMLLIElement
- lib/xercesImpl-2.9.1.jar
Explanation... 31 org.w3c.dom.html.HTMLLabelElement
- lib/xercesImpl-2.9.1.jar
Explanation... 32 org.w3c.dom.html.HTMLLegendElement
- lib/xercesImpl-2.9.1.jar
Explanation... 33 org.w3c.dom.html.HTMLLinkElement
- lib/xercesImpl-2.9.1.jar
Explanation... 34 org.w3c.dom.html.HTMLMapElement
- lib/xercesImpl-2.9.1.jar
Explanation... 35 org.w3c.dom.html.HTMLMenuElement
- lib/xercesImpl-2.9.1.jar
Explanation... 36 org.w3c.dom.html.HTMLMetaElement
- lib/xercesImpl-2.9.1.jar
Explanation... 37 org.w3c.dom.html.HTMLModElement
- lib/xercesImpl-2.9.1.jar
Explanation... 38 org.w3c.dom.html.HTMLOListElement
- lib/xercesImpl-2.9.1.jar
Explanation... 39 org.w3c.dom.html.HTMLObjectElement
- lib/xercesImpl-2.9.1.jar
Explanation... 40 org.w3c.dom.html.HTMLOptGroupElement
- lib/xercesImpl-2.9.1.jar
Explanation... 41 org.w3c.dom.html.HTMLOptionElement
- lib/xercesImpl-2.9.1.jar
Explanation... 42 org.w3c.dom.html.HTMLParagraphElement
- lib/xercesImpl-2.9.1.jar
Explanation... 43 org.w3c.dom.html.HTMLParamElement
- lib/xercesImpl-2.9.1.jar
Explanation... 44 org.w3c.dom.html.HTMLPreElement
- lib/xercesImpl-2.9.1.jar
Explanation... 45 org.w3c.dom.html.HTMLQuoteElement
- lib/xercesImpl-2.9.1.jar
Explanation... 46 org.w3c.dom.html.HTMLScriptElement
- lib/xercesImpl-2.9.1.jar
Explanation... 47 org.w3c.dom.html.HTMLSelectElement
- lib/xercesImpl-2.9.1.jar
Explanation... 48 org.w3c.dom.html.HTMLStyleElement
- lib/xercesImpl-2.9.1.jar
Explanation... 49 org.w3c.dom.html.HTMLTableCaptionElement
- lib/xercesImpl-2.9.1.jar
Explanation... 50 org.w3c.dom.html.HTMLTableCellElement
- lib/xercesImpl-2.9.1.jar
Explanation... 51 org.w3c.dom.html.HTMLTableColElement
- lib/xercesImpl-2.9.1.jar
Explanation... 52 org.w3c.dom.html.HTMLTableElement
- lib/xercesImpl-2.9.1.jar
Explanation... 53 org.w3c.dom.html.HTMLTableRowElement
- lib/xercesImpl-2.9.1.jar
Explanation... 54 org.w3c.dom.html.HTMLTableSectionElement
- lib/xercesImpl-2.9.1.jar
Explanation... 55 org.w3c.dom.html.HTMLTextAreaElement
- lib/xercesImpl-2.9.1.jar
Explanation... 56 org.w3c.dom.html.HTMLTitleElement
- lib/xercesImpl-2.9.1.jar
Explanation... 57 org.w3c.dom.html.HTMLUListElement
- lib/xercesImpl-2.9.1.jar
Explanation... 58 org.w3c.dom.ranges.DocumentRange
- lib/xercesImpl-2.9.1.jar
Explanation... 59 org.w3c.dom.ranges.Range
- lib/xercesImpl-2.9.1.jar
Explanation... 60 org.w3c.dom.ranges.RangeException
- lib/xercesImpl-2.9.1.jar
Explanation... 61 sun.misc.Unsafe
- lib/jodd-core-3.4.10.jar
- lib/xstream-1.4.4.jar
Explanation... 62 sun.net.www.protocol.http.HttpURLConnection
- lib/soap-2.3.1.jar
Explanation... 63 sun.reflect.ReflectionFactory
- lib/xstream-1.4.4.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 24/09/2014 11:27, sebb wrote:
On 24 September 2014 09:14, Rory O'Donnell Oracle, Dublin
Ireland<ro...@oracle.com> <ro...@oracle.com> wrote:
Hi Philippe,
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-jmeter-2.11 based on the
jdeps output.
The report is attached to this e-mail.
We did not get the report - the mailing list drops attachments.
If you can upload the report somewhere public and post the URL, that
would be great.
Alternatively, please create a Bugzilla issue [1] and attach the report there.
Thanks.
[1] http://jmeter.apache.org/issues.html
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 mailing 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
Re: Analysis of apache-jmeter-2.11 dependency on JDK-Internal APIs
Posted by "Rory O'Donnell Oracle, Dublin Ireland" <ro...@oracle.com>.
Let me know if the report below is legible ?
JDK Internal API Usage Report for apache-jmeter-2.11
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-jmeter-2.11:
* Numer of jar files depending on JDK-internal APIs: 7
* Internal APIs that have known replacements: 6
* Internal APIs that have no supported replacements: 63
APIs that have known replacements
<https://wiki.openjdk.java.net/display/JDK8/Java+Dependency+Analysis+Tool>:
ID Replace Usage of With Inside
1 org.w3c.dom.xpath.XPathEvaluator Use javax.xml.xpath @since 1.5
* lib/xalan-2.7.1.jar
2 org.w3c.dom.xpath.XPathException Use javax.xml.xpath @since 1.5
* lib/xalan-2.7.1.jar
3 org.w3c.dom.xpath.XPathExpression Use javax.xml.xpath @since 1.5
* lib/xalan-2.7.1.jar
4 org.w3c.dom.xpath.XPathNSResolver Use javax.xml.xpath @since 1.5
* lib/xalan-2.7.1.jar
5 org.w3c.dom.xpath.XPathNamespace Use javax.xml.xpath @since 1.5
* lib/xalan-2.7.1.jar
6 org.w3c.dom.xpath.XPathResult Use javax.xml.xpath @since 1.5
* lib/xalan-2.7.1.jar
JDK-internal APIs without supported replacements:
ID Internal APIs (do not use) Used by
1 java.awt.peer.ComponentPeer
* lib/bsh-2.0b5.jar
Explanation...
2 java.awt.peer.TextComponentPeer
* lib/bsh-2.0b5.jar
Explanation...
3 org.w3c.dom.html.HTMLAnchorElement
* lib/xercesImpl-2.9.1.jar
Explanation...
4 org.w3c.dom.html.HTMLAppletElement
* lib/xercesImpl-2.9.1.jar
Explanation...
5 org.w3c.dom.html.HTMLAreaElement
* lib/xercesImpl-2.9.1.jar
Explanation...
6 org.w3c.dom.html.HTMLBRElement
* lib/xercesImpl-2.9.1.jar
Explanation...
7 org.w3c.dom.html.HTMLBaseElement
* lib/xercesImpl-2.9.1.jar
Explanation...
8 org.w3c.dom.html.HTMLBaseFontElement
* lib/xercesImpl-2.9.1.jar
Explanation...
9 org.w3c.dom.html.HTMLBodyElement
* lib/xercesImpl-2.9.1.jar
Explanation...
10 org.w3c.dom.html.HTMLButtonElement
* lib/xercesImpl-2.9.1.jar
Explanation...
11 org.w3c.dom.html.HTMLCollection
* lib/xercesImpl-2.9.1.jar
Explanation...
12 org.w3c.dom.html.HTMLDListElement
* lib/xercesImpl-2.9.1.jar
Explanation...
13 org.w3c.dom.html.HTMLDirectoryElement
* lib/xercesImpl-2.9.1.jar
Explanation...
14 org.w3c.dom.html.HTMLDivElement
* lib/xercesImpl-2.9.1.jar
Explanation...
15 org.w3c.dom.html.HTMLDocument
* lib/xercesImpl-2.9.1.jar
Explanation...
16 org.w3c.dom.html.HTMLElement
* lib/xercesImpl-2.9.1.jar
Explanation...
17 org.w3c.dom.html.HTMLFieldSetElement
* lib/xercesImpl-2.9.1.jar
Explanation...
18 org.w3c.dom.html.HTMLFontElement
* lib/xercesImpl-2.9.1.jar
Explanation...
19 org.w3c.dom.html.HTMLFormElement
* lib/xercesImpl-2.9.1.jar
Explanation...
20 org.w3c.dom.html.HTMLFrameElement
* lib/xercesImpl-2.9.1.jar
Explanation...
21 org.w3c.dom.html.HTMLFrameSetElement
* lib/xercesImpl-2.9.1.jar
Explanation...
22 org.w3c.dom.html.HTMLHRElement
* lib/xercesImpl-2.9.1.jar
Explanation...
23 org.w3c.dom.html.HTMLHeadElement
* lib/xercesImpl-2.9.1.jar
Explanation...
24 org.w3c.dom.html.HTMLHeadingElement
* lib/xercesImpl-2.9.1.jar
Explanation...
25 org.w3c.dom.html.HTMLHtmlElement
* lib/xercesImpl-2.9.1.jar
Explanation...
26 org.w3c.dom.html.HTMLIFrameElement
* lib/xercesImpl-2.9.1.jar
Explanation...
27 org.w3c.dom.html.HTMLImageElement
* lib/xercesImpl-2.9.1.jar
Explanation...
28 org.w3c.dom.html.HTMLInputElement
* lib/xercesImpl-2.9.1.jar
Explanation...
29 org.w3c.dom.html.HTMLIsIndexElement
* lib/xercesImpl-2.9.1.jar
Explanation...
30 org.w3c.dom.html.HTMLLIElement
* lib/xercesImpl-2.9.1.jar
Explanation...
31 org.w3c.dom.html.HTMLLabelElement
* lib/xercesImpl-2.9.1.jar
Explanation...
32 org.w3c.dom.html.HTMLLegendElement
* lib/xercesImpl-2.9.1.jar
Explanation...
33 org.w3c.dom.html.HTMLLinkElement
* lib/xercesImpl-2.9.1.jar
Explanation...
34 org.w3c.dom.html.HTMLMapElement
* lib/xercesImpl-2.9.1.jar
Explanation...
35 org.w3c.dom.html.HTMLMenuElement
* lib/xercesImpl-2.9.1.jar
Explanation...
36 org.w3c.dom.html.HTMLMetaElement
* lib/xercesImpl-2.9.1.jar
Explanation...
37 org.w3c.dom.html.HTMLModElement
* lib/xercesImpl-2.9.1.jar
Explanation...
38 org.w3c.dom.html.HTMLOListElement
* lib/xercesImpl-2.9.1.jar
Explanation...
39 org.w3c.dom.html.HTMLObjectElement
* lib/xercesImpl-2.9.1.jar
Explanation...
40 org.w3c.dom.html.HTMLOptGroupElement
* lib/xercesImpl-2.9.1.jar
Explanation...
41 org.w3c.dom.html.HTMLOptionElement
* lib/xercesImpl-2.9.1.jar
Explanation...
42 org.w3c.dom.html.HTMLParagraphElement
* lib/xercesImpl-2.9.1.jar
Explanation...
43 org.w3c.dom.html.HTMLParamElement
* lib/xercesImpl-2.9.1.jar
Explanation...
44 org.w3c.dom.html.HTMLPreElement
* lib/xercesImpl-2.9.1.jar
Explanation...
45 org.w3c.dom.html.HTMLQuoteElement
* lib/xercesImpl-2.9.1.jar
Explanation...
46 org.w3c.dom.html.HTMLScriptElement
* lib/xercesImpl-2.9.1.jar
Explanation...
47 org.w3c.dom.html.HTMLSelectElement
* lib/xercesImpl-2.9.1.jar
Explanation...
48 org.w3c.dom.html.HTMLStyleElement
* lib/xercesImpl-2.9.1.jar
Explanation...
49 org.w3c.dom.html.HTMLTableCaptionElement
* lib/xercesImpl-2.9.1.jar
Explanation...
50 org.w3c.dom.html.HTMLTableCellElement
* lib/xercesImpl-2.9.1.jar
Explanation...
51 org.w3c.dom.html.HTMLTableColElement
* lib/xercesImpl-2.9.1.jar
Explanation...
52 org.w3c.dom.html.HTMLTableElement
* lib/xercesImpl-2.9.1.jar
Explanation...
53 org.w3c.dom.html.HTMLTableRowElement
* lib/xercesImpl-2.9.1.jar
Explanation...
54 org.w3c.dom.html.HTMLTableSectionElement
* lib/xercesImpl-2.9.1.jar
Explanation...
55 org.w3c.dom.html.HTMLTextAreaElement
* lib/xercesImpl-2.9.1.jar
Explanation...
56 org.w3c.dom.html.HTMLTitleElement
* lib/xercesImpl-2.9.1.jar
Explanation...
57 org.w3c.dom.html.HTMLUListElement
* lib/xercesImpl-2.9.1.jar
Explanation...
58 org.w3c.dom.ranges.DocumentRange
* lib/xercesImpl-2.9.1.jar
Explanation...
59 org.w3c.dom.ranges.Range
* lib/xercesImpl-2.9.1.jar
Explanation...
60 org.w3c.dom.ranges.RangeException
* lib/xercesImpl-2.9.1.jar
Explanation...
61 sun.misc.Unsafe
* lib/jodd-core-3.4.10.jar
* lib/xstream-1.4.4.jar
Explanation...
62 sun.net.www.protocol.http.HttpURLConnection
* lib/soap-2.3.1.jar
Explanation...
63 sun.reflect.ReflectionFactory
* lib/xstream-1.4.4.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 24/09/2014 11:27, sebb wrote:
> On 24 September 2014 09:14, Rory O'Donnell Oracle, Dublin Ireland
> <ro...@oracle.com> wrote:
>> Hi Philippe,
>>
>> 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-jmeter-2.11 based on the
>> jdeps output.
>>
>> The report is attached to this e-mail.
> We did not get the report - the mailing list drops attachments.
>
> If you can upload the report somewhere public and post the URL, that
> would be great.
> Alternatively, please create a Bugzilla issue [1] and attach the report there.
> Thanks.
>
> [1] http://jmeter.apache.org/issues.html
>
>> 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 mailing 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
Re: Analysis of apache-jmeter-2.11 dependency on JDK-Internal APIs
Posted by sebb <se...@gmail.com>.
On 24 September 2014 09:14, Rory O'Donnell Oracle, Dublin Ireland
<ro...@oracle.com> wrote:
> Hi Philippe,
>
> 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-jmeter-2.11 based on the
> jdeps output.
>
> The report is attached to this e-mail.
We did not get the report - the mailing list drops attachments.
If you can upload the report somewhere public and post the URL, that
would be great.
Alternatively, please create a Bugzilla issue [1] and attach the report there.
Thanks.
[1] http://jmeter.apache.org/issues.html
> 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 mailing 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
>
>
>
>