A story about Java 11 support for Web services

Introduction

This is a reminder when I tried to support Java 11 because the Web service I was developing, operating and maintaining was running on Java 8.

Background

I was shocked to read the following announcement around February 2018, when the web service was released safely and I started to feel relieved. The life of the environment of the released Web service is approaching. From around spring, I started to work on it from around summer while watching the Java area and collecting information.

-Java 10 will be released next month, and Java 11 will be released in September. Future Java that adopted the new release model, acquisition method and support period will change like this (Additional notes about OpenJDK

Environment before correspondence

Since it is a service that has been in operation for about a year, the corresponding service was configured as follows as the development environment at that time. Since each tool was updated while watching the timing, it was in a relatively new state except for the major version.

--Application - Java : OpenJDK8 - Build Tool : Gradle 4.8 - Application Framework : Spring Boot 1.5.13.RELEASE - Test Framework : JUnit 4.12

Environment after correspondence

It consisted of the latest version or stable version of each tool around mid-November 2018.

--Application - Java : OpenJDK11(11.0.1) - Build Tool : Gradle 5.0RC1 - Application Framework : Spring Boot 2.1.0.RELEASE - Test Framework : JUnit 5.3.1

Correspondence flow

Java 11 support was implemented in the following flow.

--February 2018 I'm stunned by the change in Java's support lifecycle (I hadn't seen it for a while) --July 2018 Decided to update to OpenJDK11 --August 2018 OpenJDK10, updated to Spring Boot 2.0 and waited --September 2018 OpenJDK11 EarlyRelease, Spring Boot 2.1.0. Updated to Milestone and waited --October 2018 OpenJDK11 GA, Spring Boot 2.1.0. Updated to RELEASE for full-scale support --Early November 2018 Many tests * The most difficult time. Changed test code from JUnit 4 to JUnit 5 at this time --Mid November 2018 Released to commercial service environment

Since the official release of the tool in October 2018, it has been fluttering due to bug support and test code changes, but since it was updated by wait-and-see in advance, no major problems occurred. I wonder if it was good to be able to release it as a commercial service within a period of less than a month from the official release.

The remaining challenges

Due to the urgent response, the following remained as issues, but we will respond sequentially from December.

--The RC version was used due to the delay in the release of Gradle 5.0 for Java 11 (initially expected in early November). --Insufficient test code optimization as JUnit 5 --Failed to adapt to new and useful features adopted since JDK9

Impressions

It was fluttering, but it was safe to say that it was in time for the end of support for JDK8 in January 2019, and it was good to be able to move to a relatively latest tool. With this, I was able to extend my life until the release of Java 12 in March 2019, so I am thinking about preparing for Java 12 next time.

Recommended Posts

A story about Java 11 support for Web services
A story about the JDK in the Java 11 era
[Beginner] A story about starting studying Java for job hunting ~ 2nd month ~
A story about trying to operate JAVA File
[Beginner] A story about starting studying Java for job hunting ~ 3rd month ~
[Beginner] A story about starting studying Java for job hunting ~ 1st month ~
About Java 10 Docker support
Lombok's Java 9+ support story
[Beginner] A story about starting studying Java for job hunting ~ 5th month ~
[Beginner] A story about starting studying Java for job hunting ~ 4th month ~
A story about developing ROS called rosjava with java
A story about starting a Java-related book club for newcomers
A note about Java GC
[Java] A story about IntelliJ IDEA teaching Map's putIfAbsent method
A story about speeding up unittest on Docker for Mac
Introducing Spring Boot2, a Java framework for web development (for beginners)
A story about misunderstanding how to use java scanner (memo)
A really scary (Java anti-pattern) story
[For Java beginners] About exception handling
[Note] A story about changing Java build tools with VS Code
A story about hitting the League Of Legends API with JAVA
A story about having a hard time aligning a testing framework with Java 6
A story that I finally understood Java for statement as a non-engineer
About returning a reference in a Java Getter
A story about changing jobs from a Christian minister (apprentice) to a web engineer
A story about a Spring Boot project written in Java that supports Kotlin
About the procedure for java to work
[Creating] A memorandum about coding in Java
Creating a java web application development environment with docker for mac part1
Deploy a Java web app on Heroku
Create a java web application development environment with docker for mac part2
A story about changing skills from COBOL cultivated for 5 years in the late 20s to a Web language
[Personal memo] A small story about CPUs settings of Docker Desktop for Windows
A story about a super beginner participating in the AtCoder contest for the first time (AtCoder Beginner Contest 140)
I made a Diff tool for Java files
How to display a web page in Java
A story about a very useful Ruby Struct class
A story about Apache Wicket and atomic design
Let's create a super-simple web framework in Java
[Java] Let's create a mod for Minecraft 1.14.4 [Introduction]
A story about making a Builder that inherits the Builder
[Java] Let's create a mod for Minecraft 1.16.1 [Introduction]
A collection of simple questions for Java beginners
A story about a new engineer reading a passion programmer
[Java] Let's create a mod for Minecraft 1.14.4 [99. Mod output]
Build a development environment for Docker, java, vscode
About Java interface
[Java] About Java 12 features
Java static story
SonarQube Java 11 support
For JAVA learning (2018-03-16-01)
[Java] About arrays
Java support period
Something about java
Where about java
About Java features
About Java threads
2017 IDE for Java
Java8, 9, 10 support period
[Java] About interface
About Java class