[Looking for Charlie's main web site?]

On ColdFusion and its support for Java 9, 10, and 11

Note: This blog post is from 2018. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
(This post was written originally in May 2018, 2 months before the release of CF2018 and a few months before the release of Java 11. I have updated it some to reflect changes in that.)

Wondering about CF support for Java 9, 10, 11, or later here in 2018 (with respect to CF 2018, CF 2016, CF 11, or earlier)? Did you know that Java 9 and Java 10 each have only 6-month lives? Seriously. And did you know that Java 9 is already no longer updated, while Java 8 still is (into next year), and that Java 11 is due to come out in September 2018? It can be quite confusing if you've not been paying attention to Oracle's new release model.

What does all this mean for Adobe and CF, and CF users? What versions of CF do, do not, and/or may support these various recent Java versions? The good news is that CF 2018 will come out running (and the second public beta does come running) on Java 10 (no word yet on Java 11). But what about other recent CF versions?

Read on for more.

Update: CF2018 did come out as expected in July 2018, and at first it came out supporting Java 10. Then after Java 11 came out in late 2018, Adobe updated both CF2018 and CF2016 in early 2019 to support Java 11 (or you can continue to use Java 8 while it's supported by Oracle). Adobe also announced in Jan 2019 that they had reached an agreement with Oracle licensing Java 11 and updates to 8 for commercial use with CF. You may want to read my post on the CF portal discussing further when the April 2019 updates for Java 8 and 11 were released by Oracle.

I leave what I wrote below for posterity/historical perspective.

[....Continue Reading....]

Comments
On the matter of CF10 and earlier supporting Java 8 (something I touched on briefly in the post here), I will note that just today, Wil Genovese and the fine folks at CF WebTools posted a blog entry on the Adobe community forum about it,which adds still more useful detail. Check it out.

https://coldfusion.a...
This is very useful and helpful information. Thank you for sharing.
# Posted By Nandan M | 5/9/18 3:35 PM
Thanks for putting so much effort into explaining all this Charlie, you are as always, an extremely valuable asset in the ColdFusion community.
# Posted By Benjamin Reid | 5/9/18 6:42 PM
Charlie, thank you for the mention. Running CF9.0.n on Java 1.8 is hit or miss. We've seen a few features not work in ColdFusion 9 with Java 1.8.

This little hiccup in Java versions is rather confusing. I'm wondering is Adobe and other companies are essentially waiting for Java 11 to drop before releasing support for new Java versions. I can envision a scenario that Java 10 might even be skipped. Crazy times.

Wil
Wil, yep, I had said similarly (about Java 10) that, "I wouldn't be surprised if they opted to just wait to Java 11, due in September." :-)
Adobe have responded regarding Java versions and ColdFusion 2018.

Suresh Jayaraman said:
=====================
Regarding the official support for Java 10 for CF 2018 , the current plan is to support it even though we have shipped the installers with Java 9 JRE .. we are contemplating on switching to Java 10 .

BTW , even the Public beta build was certified in Java 10 before release so you are safe to continue to test with Java 10
=====================
# Posted By Benjamin Reid | 5/10/18 9:37 PM
Thanks for sharing that, Benjamin.

And for any who may wonder where Adobe shared that info, it was in a reply to Benjamin in the thread that started the discussion (albeit titled about a specific error he was getting, which turns out not to have been about Java 10 after all):

https://coldfusion.a...

Sadly, I can't seem to find a way to provide a direct link to the specific comment from Adobe, whether via a feature in the UI or the underlying html. But interested folks can search for that quote from Adobe there, if interested.

I hope to get some time later today to fold this observation into my blog post, to save readers having to find it here in the comments. :-)
Thanks for the info, Charlie - very useful as always. My big concern in any Java release is the MS SQL JDBC drivers. You were a great help in finding a solution for us, as most of the drivers had serious memory leaks, but I would not want to get into that situation again.

Before we installed a different Java version in production we would need extensive jdbc testing...
# Posted By Paul | 5/22/18 10:45 AM
That's interesting to hear you say, Paul.

1) First, I have not encountered any instances of an update to the JVM cause a problem with the JDBC drivers in CF. Now, to be clear, I am referring to a supported JVM updated and the built-in JDBC drivers, though I would be surprised also to hear of it even with downloaded JDBC drivers.

Now, I suppose if one jumped from Java 6 to 8, for instance (as was possible in CF11), it could be that a driver in use that worked with Java 6 might not work with Java 8.

But again in this blog post we are not even talking about one upgrading the JVM, per se. We're talking about the state of CF support of those new JVM versions, 9, 10, and 11. To be clear, I was not proposing people move up to them, at least not until Adobe did formally support them.

So while you warn people to beware moving up to "any java release" due to issues with drivers and without "extensive jdbc testing", I would not make such a broad warning, for my reasons just stated.

2) Second, you refer to the help I offered (back in 2016), and thanks for the kind regards. And the implication is that I might recall the trouble you faced about a JVM update and JDBC driver issues. But I must say that from my notes, I don't see that.

I do see first that in March there was an issue where you brought me in for some emergency help and it turned out someone had run an automated JVM update which had removed the old version that CF pointed to (and we fixed that easily).

Then I see in August we did update the JVM (manually), and in doing that (and updating the jetty.lax also to point to that, for the CF Add-on Service, as I discuss in my other blog post), we happened to find there was already an issue with that not starting, which we fixed by my giving you a stock neo-document.xml file.

Neither of those were about JDBC driver issues hurt by the JVM udpdte, at least from my notes. Do you recall differently?

Or could this have been something you experienced on your own, and not something I helped with? I do see also that in Mar 2017 you shared an email about a problem you had with a CF update (not a JVM update), which fortunately you resolved (and reported was a permissions issue).

BTW, if anyone may think this is too much of "airing dirty laundry" on the blog here about Paul's past issues, I am hopeful that Paul will not feel that way. These are issues that happen to people all the time that I help resolve. If anything, it could be helpful for some readers to see such problems can be easily solved.

I do realize his goal is simply to help people who may be contemplating a JVM update. Again, that's not really the point of this post. But since Paul raised these concerns, and referenced past work we had done with troubleshooting, I wanted to share my understanding of things, for his sake and for all who may be reading along. :-)
Charlie - Thanks for the article. Beyond the technical aspects of Adobe supporting a particular Java version, Oracle is also making a play on the licensing front complicating this even further. Oracle Java 8 SE (SDK/JRE) will no longer be commercially supported after January 2019 without a service agreement. Companies are now forced to make a choice, either get service agreements or move onto OpenSDK 8 which has a less frequent patch cycle (6 months). Furthermore, I'm assuming that as an owner of a CF 11/2016 license, Adobe will have me covered if they include a Java 8 SDK with a patch level that I don't have a service agreement on. Unfortunately, I'm not sure if I have confidence in that assumption. In addition, Java 10.0.2 (SDK/JRE) is the last free Oracle JDK. I'm curious how Adobe is planning on dealing with that. Do they move to OpenSDK with limited patch support? It seems that, moving forward, any vendor who includes the Oracle SDK in their solution is on the hook with Oracle in terms of licensing fees. The only other option is OpenSDK.
Hi, Stephen. Sorry for the delay of a few days in responding. Partly I was hoping Adobe might come out with clarification (here or better on the CF blog, coldfusion.adobe.com).

It's certainly an interesting situation that we face. If I were to guess, I'd think the choices will be:

a) they license the future versions (which they bundle with CF), in which case we can get updates because we're using the Java binary under THEIR licensing of it

b) they stop bundling Java and make US get it ourselves. Other apps do that, like Tomcat. And the good news there is that there is the OpenJDK (from Oracle), and perhaps Adobe will certify CF in the future to support that and its later versions (like they do eventually when new Java versions have come out).

Again, they will need to confirm that. For those interested in a bit more on this topic, you can just google: oracle java licensing 2019 and find PLENTY. But I found a nice, concise yet complete discussion of the matter here:

https://www.azul.com...

Any Adobe folks following along who may be able to help us out here? Especailly with a post to clarify things on your blog?
Charlie - No worries. Thanks for the reply. I see you've responded on https://forums.adobe... :).I responded to Dave too. Your questions to Adobe are spot on.

- Steve
This just in from Adobe

https://coldfusion.a...
Yep, thanks, but I was holding off sharing it. It's not a satisfactory answer to me, for a number of reasons, and I have asked Rakshith about them by email directly. I wanted also to see if others would raise the same concerns as comments on that post, to help support the contentions I made to him. I'm hoping he'd then revise it, and then I was planning to point to it.
We've moved to using Amazon Corretto in production for our 2016 CF servers. It's optimized for the AWS environment. It's not officially supported by Adobe but we've had no issues thus far. Worth checking out. https://aws.amazon.c...
# Posted By Dave | 6/7/19 10:33 AM
Dave, yep. I had discussed Corretto as an option in November, before Adobe resolved the licensing of Java for CF use this past January (https://coldfusion.a...)

For completeness sake, my post discussing Corretto as an option back then is here:
https://www.carehart...

And to be clear, as you say, Adobe never has certified CF for use with it (and seemingly won't), but some have reported it's worked. And I appreciate your regard for it as being optimized for AWS.

Even so, it would seem that those who CAN use the Oracle jvm SHOULD use it, until some distinctive benefit of Corretto is identified. Or do at least be aware that you are operating on an unsupported jvm, so unexpected problems may be more challenging to resolve, and Adobe won't help.
Copyright ©2024 Charlie Arehart
Carehart Logo
BlogCFC was created by Raymond Camden. This blog is running version 5.005.
(Want to validate the html in this page?)

Managed Hosting Services provided by
Managed Dedicated Hosting