What is the status of JMX 2.0? - java

It was supposed to be released with Java 7, but the status is Dormant. On the other hand, the same page says
Use generics in the JMX API, for example have MBeanServer.queryNames return Set<ObjectName> rather than just Set.
and this did happen in Java 6. So, did some of the changes get in? Are there significant differences between Java 6 and Java 7 JMX implementations? Looking at Javadocs, I didn't notice any, but this only covers the API.

I asked this question also to the current product manager for JMX at Oracle, Tuva Palm some times ago (September 2011), and she promised me, that JMX 2.0 is not dead and there will be a technical roadmap in Q1/2012.
However, nothing have happened until now and even worse, JSR-255, the JMX 2.0 spec (but also JSR-262, ther WebService connector stuff) has been marked as withdrawn since 2016 with the following reason:
JSR 255 specified changes to javax.management.* which were subsequently abandoned due to lack of resources, and were not included in the Java SE 6 or 7 Platforms. (The changes were distinct from other changes to javax.management.* specified by JSRs 3, 160, and 336 for inclusion in the Java SE 6 and 7 Platforms.) It was determined in 2014 that future changes to JMX technology would be specified directly by the umbrella JSR for the Java SE Platform.
So JMX 2.0 in its original form is factually dead.

Apparently, it was postponed to JDK 8, and all already made changes reverted, so JDK 7 final implementation should be the same as JDK 6.

Related

Why Java 7 release not available after jdk-7u80?

I want to download JRE 1.7.0_131-b31 as i read its support TLSv1.2 by default
TLSv1.2 and TLSv1.1 are now enabled by default on the TLS client
end-points. This is similar behavior to what already happens in JDK 8
releases.
But Oracle site showing latest version of jdk-7u80 and after this release no other Java 7 version available.
Is this because ,user have to buy license/paid version ?
These version not available for individual developer ?
Why Java 7 release not available after jdk-7u80?
Because of Oracle business reasons. Free public support ended in April 2015.
(Backporting patches and so on requires a team of people. That costs money. Oracle is a commercial enterprise. And other reasons.)
Is this because user have to buy license/paid version ?
Yes. You need an Extended Support Contract to use versions after 7u80
These version not available for individual developer ?
No.
If you or your client requires Java 7 with TLSv1.1 and later, your options are:
Upgrade to Java 8 or (better) 11. This is the best option.
Use a 3rd-party JCE provider (such as BouncyCastle) that still supports Java 7.
Pay Oracle for an "Extended Support" support contract.
Point out to the client that this is the cost of them not investing the money / effort in keeping their Java application stack up with the latest versions.
If they are still using old libraries and applications that are permanently stuck at Java 7, they should be planning to discard or replace them. Yes it is painful, but it is more painful in the long term if they don't. (In July 2022, even "Extended Support" ends for Java 7. After that, even security fixes will stop.)
Note that Java 8 is due to reach end of life fairly soon too. Indeed, free support for commercial use has already ceased for Oracle Java 8. You / they should really be aiming to get to Java 11 ASAP.
I would also suggest that if they want you to continue supporting them on Java 7, they should be (in effect) paying for the Java support contract that you need to do your job. Renegotiate your billing rate, or whatever.
For more information on Java versions, end of life, and end of support; see:
https://en.wikipedia.org/wiki/Java_version_history
https://www.oracle.com/java/technologies/java-se-support-roadmap.html

Difference between OpenJDK 10 and Java SE 10 Reference Implementation

What exactly is the difference between the two versions described below?
From http://jdk.java.net/10/
JDK 10.0.1 General-Availability Release
This page provides production-ready open-source builds of the Java Development Kit, version 10.0.1, an implementation of the Java SE 10 Platform under the GNU General Public License, version 2, with the Classpath Exception.
From http://jdk.java.net/java-se-ri/10
Java Platform, Standard Edition 10 Reference Implementations
The official Reference Implementation for Java SE 10 (JSR 383) is based solely upon open-source code available from the JDK 10 Project in the OpenJDK Community.
The Reference Implementation is a 'prototype or "proof of concept" implementation of a Specification', in this case the Java SE 10 Platform JSR. As such, it doesn't get any further updates, unless the specification itself needs to be updated. Its target audience are specification writers, and implementation developers, rather than actual users.
The GA release, on the other hand, receives at least two updates for critical issues, e.g. time zone fixes, P1 bug fixes, security issues, etc. - it's suitable for development and production use.
The General-Availability Release is designed for actual use by programmers and developers, and receives security updates. The Reference Implementation is for JVM developers who want a reference JVM that is conforming to the specification that they can compare their work to.
In any case you want to use the GAR builds.

Java Web Start support in Java 9 and beyond

I'm confused about the status of Java Web Start.
On Oracle's Support Roadmap we can read this:
Support of Deployment Technology
The web deployment technology, consisting of the Java Plugin and Web Start technologies, has a shorter support lifecycle. For major releases through Java SE 8, Oracle provides five (5) years of Premier Support for these technologies. Extended Support is not available for the deployment stack, and will not be available for support beyond Java SE 9. See the Oracle Lifetime Support Policy for details.
Deployment Technology for Java SE 6 and Java SE 7 may be removed at any time after Jun 2017. Although the deployment stack may be included in Java SE 9 or later releases, Java SE 8 is the recommended and only supported version of the deployment stack.
Now, we have known for quite some time that applets and the Java Plugin were to be removed in a future version of Java, but I had never read about Java Web Start being a candidate for removal.
In Oracle's Java Platform, Standard Edition Deployment Guide#Getting Started (a Java 9 documentation page), Java Web Start is advertised as an alternative to the deprecated applet technology:
Although available and supported in JDK 9, the Applet API and the Java Plug-in are marked as deprecated in preparation for removal in a future release. Alternatives for applets and embedded JavaFX applications include Java Web Start and self-contained applications.
Am I worrying for nothing or I have missed an announcement about the deprecation of Java Web Start?
According to http://www.oracle.com/technetwork/java/javase/9-deprecated-features-3745636.html
Java Deployment Technologies are deprecated and will be removed in a future release
Java Applet and WebStart functionality, including the Applet API, The Java plug-in, the Java Applet Viewer, JNLP and Java Web Start including the javaws tool are all deprecated in JDK 9 and will be removed in a future release.
There is a related discussion on the OpenJDK discuss list here: http://mail.openjdk.java.net/pipermail/discuss/2017-November/004586.html
Oracle will not include Java Web Start in Java SE 11 (18.9 LTS) and later.
Source: Java Client Roadmap Update 2018-03-05 (Oracle)
This applies to Premier, Extended and Sustaining Support. Just from the quoted text:
only Premier Support covers the Deployment Technology;
the Deployment Technology could be removed in future Java SE 6 and 7 releases;
as the applet API and plug-in are deprecated, the Deployment Technology could be removed in a future major release;
Java 9 Premier Support only lasts until March 2018.
Consequently, Java 8 is the only release that will include the full Deployment Technology with mid-term Premier Support (March 2022).
Note that it does not mean Java Web Start will disappear but removing the Applet API and the plug-in means breaking apart the Deployment Technology.
One solution might be the WebStart replacement that Karakun is currently working on: https://openwebstart.com
Currently it is not clear when and how this will come since it is based on a kind of crowd-founding but since everyone can get involved (even with low cost) this is a very good possibility.
Since this is a duplicate of Applet/JNLP on Java 11 migration I just copied my answer
I saw this on an Oracle Blog entry
Tuesday, January 30, 2018
Extension of Oracle Java SE 8 Public Updates and Java Web Start
support By: Donald Smith | Sr. Director of Product Management
Oracle has updated the Java SE Support Roadmap. A more detailed white
paper will follow shortly, but here are the key changes made:
The public availability of Java SE 8 updates from Oracle has been extended to at least January 2019. Moreover, Oracle will continue to
provide consumers with updates for personal (non-corporate) use of
Java SE 8 through at least the end of 2020.
Oracle will continue to support Java SE 8 Web Start applications for public and personal (non-corporate) use to the same dates noted
above.
Oracle will continue to commercially support Java Web Start on Java SE 8 for commercial use, or when used in conjunction with Oracle
products that have a Web Start dependency, through at least March,
2025.
As announced in 2015, Applets will continue to be supported in Java SE 8 until at least March, 2019, pending continued support by browser
vendors.
I started using IcedTea Web. It seams to work fine on Ubuntu.

Is it possible not to upgrade to JDK 9 when this gets available?

Once the JDK9 is Generally available can we continuously blocked the upgrade?
IF yes until when?
Currently we have an application using java pluggins, we are still working on the equivalent web application. As per news the target date for the JDK9 is March 23.
If by March 23 we are still not done can we block the JDK9 upgrade?
You can still download and install Java 5, if you really want. Nothing will compel you to upgrade to Java 9, however Oracle will eventually end support for Java 8, at which point you'll stop getting security updates. The last public release of Java 7 was almost two years ago, for example. Any improvements to the JVM or JDK since then are only available in Java 8.
Even if you don't care about security(?!?!?) the correctness of your application will also start to falter - JDK releases contain updated timezone information, among other data that changes over time.
In general, it's going to be a lot better for you to work to solve your problem a different way that's future compatible, than to stick to legacy features that are no longer supported.

When Java 6 will be dropped will my application continue to work?

I am a bit worried about something and no matter how much i searched i could not find something or i could not search properly.
I have an application that runs on java 6 SE. Oracle mentions in the website that they will drop the Java 6 SE Deployment in June 2017. So that leaves me with a question. Will my application still run after the Java 6 end or will it crash?
Deployment Technology for Java SE 6 will be available until Jun 2017
Mentioned here
Will my application still run after the Java 6 end or will it crash?
It will continue to run.
If a user downloads and installs a Java 6 JRE / JDK, your application will run as before.
If a user has Java 7, Java 8, Java 9 .... etcetera, your application will run on those platforms provided that it is properly written. Things that might cause it to break include:
dependencies on restricted "internal" classes that have been changed or removed in a later release,
incorrectly written multi-threaded code that breaks due to platform differences,
a tiny number of documented incompatibilities, and
dependencies on 3rd-party libraries that have not been ported.
However ....
You ought to take the time to port your application to run on the latest version of Java. This is probably just a matter of compiling the codebase on the newer / newest Java JDK, and then running all of your unit and system tests. (But if you have extensive dependencies on old libraries that are no longer being maintained, then you may have a problem ...)
If you don't do this, your application is liable to become problematic for users who won't or cannot install an out-of-date (and probably insecure!) version of Java on their systems.
This is even more important for applications that depend on web deployment and Java plugins for browsers.
Yes. No. Maybe.
If you continue to use old JVM nothing will changes. Except you won't get bugfixes and security patches.
If you migrate to new JVM then in theory all should be fine (Java declare backward compatibility), but sometimes problems may occur. That's why you need to test you application with new JVM before you go into production.
As mentioned by some of the others, yes your application will still work. It just means they will be done supporting it.
Oracle’s poor wording is ambiguous
To answer the specific part of your question, let's look at the text of the Oracle page, Oracle Java SE Support Roadmap (retrieved 2016-10).
Support of Deployment Technology
The web deployment technology, consisting of the Java Plugin and Web Start technologies, has a shorter support lifecycle. For all major releases of Java SE starting with Java SE 7, Oracle provides five (5) years of Premier Support for these technologies. Extended Support is not available for the deployment stack. See the Oracle Lifetime Support Policy for details.
Deployment Technology for Java SE 6 will be available until Jun 2017.
This says that for (a) the Java Plugin for Java applet and for (b) Java Web Start specifically you cannot purchase additional technical support from Oracle beyond 2017-06. Other Oracle extended support contracts running beyond that date do not include technical support for the Java SE 6 version of this pair of deployment technologies.
That last sentence is poorly worded. I believe we can assume it should have begun with “Technical support for”. I understand the cause for your Question here.
As others have said, Oracle has never time-bombed any Java technology product nor have they ever announced any plans for doing so.
Oracle support for the plugin and for applets is practically moot as various operating systems and web browsers in recent years have been limiting or ending their support for Java applets due to security vulnerabilities. Java Web Start remains a viable platform for distributing local Java apps, though I recommend such apps move to later versions of Java.

Categories

Resources