Timeline for Java 9 support

(Javier Garcia Lozano) #1


we would like to know if there is any estimation about when Corda will run on Java 9.

We need to move to new Java versión soon and we would like to have an idea about timeline planned for this update.

Thanks in advance!


(Mike Hearn) #2

We want to move to Java 9 too as it has some useful upgrades for us, but currently things are still very rough across the entire Java ecosystem. Java 9 breaks a lot of software and we sit at the top of a large and deep stack.

We are currently focused on shipping a first Enterprise release, so, I think we won’t look at a Java 9 upgrade until next year. I’m curious why you need it and what sort of timeline you mean by “soon”?

(Javier Garcia Lozano) #3

Thanks Mike for quick response. Actually we have a requirement for our infrastructure team about to have all servers running Java 9 by 31th March next year.

Not sure if Corda will be ready to run on Java 9 for this date.


(Mike Hearn) #4

Although Corda is currently distributed as a JAR, this will change soon and we’ll be switching to distributing native executables on most platforms. Or at least on supported production platforms. That is, we will be providing a Linux ELF64 tarball that you extract and run.

Internally this will be an optimised and customised JVM, probably (once we switch to Java 9) built using the jlink tool. However, it means that the JVM version will be controlled by Corda itself and not the node operator. There are several reasons for this, but one of them is that the Java platform version is exposed as part of the Corda platform version. Thus, there must be consistency in what versions of the Java library apps can expect to have. Additionally, jlink allows for optimisation of the JVM install to that specific app, reducing memory usage, disk usage, startup time and CPU overheads. It’s the direction Java is heading in.

(Javier Garcia Lozano) #5


Java 8 is going out of public support in September and can no longer be secured we need to know when the Corda platform will remove their dependency on Java 8 therefore, we need a Java 9 compatible version of Corda available with enough lead time that we can get in internally installed, tested, and deployed before September 2018.

Please, let us know your thoughts

(Javier Garcia Lozano) #6

Please, do you have any update on that?
Do you know when the Corda platform will remove their dependency on Java 8 and we will have Java 9 compatible version of Corda available?


(Mike Hearn) #7

Hi Javier, sorry for the slow response. I fell behind on Discourse!

We plan to move to Java 9 this year. I’m aware that by the time we do this probably Java 10 or 11 will be out. 11 is the next LTS release from Oracle so we might camp there for a while. We may also end up licensing a supported JVM from some other firm, or backporting security fixes that we need ourselves - many options.

I don’t think we will be on Java 9 by March. We are still focused on shipping our enterprise version of Corda, and Corda 3.0.

Note that open source Corda will probably not be too picky about what JVM it runs on. It’s open source and unsupported so, if it breaks, you keep the pieces. R3 Corda (a.k.a. our enterprise offering) will bundle the JVM so we control the version used and we take responsibility for releasing Java updates with our own product updates.

We are doing some prep work at the moment (like dropping Capsule) to make this possible.