jmeter-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Philippe Mouawad <philippe.moua...@gmail.com>
Subject Re: Apache-jmeter dependencies on JDK-Internal APIs
Date Fri, 05 Jun 2015 21:32:42 GMT
Hi,
I opened:
- https://github.com/oblac/jodd/issues/220
- https://github.com/x-stream/xstream/issues/11

For other projects not sure they are still maintained. Maybe time to think
about dropping them.

Regards
Philippe M.
@philmdot

On Fri, Jun 5, 2015 at 5:05 PM, sebb <sebbaz@gmail.com> wrote:

> On 5 June 2015 at 15:33, Rory O'Donnell <rory.odonnell@oracle.com> wrote:
> > Hi Philippe,
> >
> > I believe we checked an older version of Apache jmeter for dependencies
> on
> > JDK-Internal APIs.
> > Below are instructions on how to check for yourself.
>
> Thanks!
>
> Just ran a check on the current build and there is no output from the
> JMeter jars (including jorphan.jar).
>
> However, some of the 3rd party dependencies do produce output, as follows:
>
> bsh-2.0b5.jar ->
>
> /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/rt.jar
> (Full JRE)
>    bsh.util.AWTConsole (bsh-2.0b5.jar)
>       -> java.awt.peer.ComponentPeer                        JDK
> internal API (rt.jar)
>       -> java.awt.peer.TextComponentPeer                    JDK
> internal API (rt.jar)
>
> dnsjava-2.1.7.jar ->
>
> /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/rt.jar
> (compact1)
>    org.xbill.DNS.spi.DNSJavaNameServiceDescriptor (dnsjava-2.1.7.jar)
>       -> sun.net.spi.nameservice.NameService                JDK
> internal API (rt.jar)
>       -> sun.net.spi.nameservice.NameServiceDescriptor      JDK
> internal API (rt.jar)
>
> jcharts-0.7.5.jar ->
>
> /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/rt.jar
> (Full JRE)
>    org.jCharts.encoders.JPEGEncoder13 (jcharts-0.7.5.jar)
>       -> com.sun.image.codec.jpeg.JPEGCodec                 JDK
> internal API (rt.jar)
>       -> com.sun.image.codec.jpeg.JPEGEncodeParam           JDK
> internal API (rt.jar)
>       -> com.sun.image.codec.jpeg.JPEGImageEncoder          JDK
> internal API (rt.jar)
>
> jodd-core-3.6.4.jar ->
>
> /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/rt.jar
> (Full JRE)
>    jodd.util.UnsafeUtil (jodd-core-3.6.4.jar)
>       -> sun.misc.Unsafe                                    JDK
> internal API (rt.jar)
>
> soap-2.3.1.jar ->
>
> /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/rt.jar
> (Full JRE)
>    org.apache.soap.util.net.SSLUtils (soap-2.3.1.jar)
>       -> sun.net.www.protocol.http.HttpURLConnection        JDK
> internal API (rt.jar)
>
> xstream-1.4.8.jar ->
>
> /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/rt.jar
> (Full JRE)
>
>  com.thoughtworks.xstream.converters.reflection.SunLimitedUnsafeReflectionProvider
> (xstream-1.4.8.jar)
>       -> sun.misc.Unsafe                                    JDK
> internal API (rt.jar)
>
>  com.thoughtworks.xstream.converters.reflection.SunUnsafeReflectionProvider
> (xstream-1.4.8.jar)
>       -> sun.misc.Unsafe                                    JDK
> internal API (rt.jar)
>
> Warning: JDK internal APIs are unsupported and private to JDK
> implementation that are
> subject to be removed or changed incompatibly and could break your
> application.
> Please modify your code to eliminate dependency on any JDK internal APIs.
> For the most recent update on JDK internal API replacements, please check:
> https://wiki.openjdk.java.net/display/JDK8/Java+Dependency+Analysis+Tool
>
> JDK Internal API                         Suggested Replacement
> ----------------                         ---------------------
> com.sun.image.codec.jpeg.JPEGCodec       Use javax.imageio @since 1.4
> com.sun.image.codec.jpeg.JPEGEncodeParam Use javax.imageio @since 1.4
> com.sun.image.codec.jpeg.JPEGImageEncoder Use javax.imageio @since 1.4
>
>
> > Rgds,Rory
> >
> > ------------------------------------------------------------------------
> > 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].
> >
> > As part of the ongoing development of JDK 9, I would like to inquire
> about
> > your usage of  JDK-internal APIs and to encourage migration towards
> > supported Java APIs if necessary.
> >
> > The first step is to identify if your application(s) is leveraging
> internal
> > APIs.
> >
> > /Step 1: Download JDeps. /
> >
> >    Just download a preview release of JDK8(JDeps Download
> >    <https://jdk8.java.net/download.html>). You do not need to actually
> >    test or run your application on JDK8. JDeps(Docs
> >    <http://docs.oracle.com/javase/8/docs/technotes/tools/unix/jdeps.html
> >)
> >    looks through JAR files and identifies which JAR files use internal
> >    APIs and then lists those APIs.
> >
> > /Step 2: To run JDeps against an application/. The command looks like:
> >
> >    jdk8/bin/jdeps -P -jdkinternals *.jar > your-application.jdeps.txt
> >
> >    The output inside your-application.jdeps.txt will look like:
> >
> >    your.package (Filename.jar)
> >           -> com.sun.corba.se            JDK internal API (rt.jar)
> >
> > _3rd party library using Internal APIs:_
> > If your analysis uncovers a third-party component that you rely on, you
> can
> > contact the provider and let them know of the upcoming changes. You can
> then
> > either work with the provider to get an updated library that won't rely
> on
> > Internal APIs, or you can find an alternative provider for the
> capabilities
> > that the offending library provides.
> >
> > _Dynamic use of Internal APIs:_
> > JDeps can not detect dynamic use of internal APIs, for example through
> > reflection, service loaders and similar mechanisms.
> >
> >
> > [0]
> https://wiki.openjdk.java.net/display/JDK8/Java+Dependency+Analysis+Tool
> >
> > --
> > Rgds,Rory O'Donnell
> > Quality Engineering Manager
> > Oracle EMEA , Dublin, Ireland
> >
>



-- 
Cordialement.
Philippe Mouawad.

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message