Best options and bonus advantages for developers (while upgrading to Java 11):
- Minimum best option- When upgrading to JDK 11 (LTS) for spring boot applications please consider using the OpenJ9 JRE to help reduce the memory required.
- change openjdk:8-jre-slim → adoptopenjdk/openjdk11-openj9:alpine-jre
- Minimum second option - if you have binary dependencies that will not work with alpine. Please only use this if you have exhausted all of the instructions about how to convert to alpine.
- change openjdk:8-jre-slim → adoptopenjdk/openjdk11-openj9:jre
- Bonus - Make sure you allow for JAVA_OPTS environment to be passed into your jvm startup to allow for things such as remote debugging.
- Bonus - Setup docker layers to allow for smaller docker image updates – the youtube video adds this so you can just push your modified application layer vs all the jars again for java class changes.
- Bonus - if you don't need spring boot or jvm remove jvm/spring boot from your micro service.
---------
When migrating from Java8 to Java 11 – some maven issues were found and there are tips in this page. https://winterbe.com/posts/2018/08/29/migrate-maven-projects-to-java-11-jigsaw/.
Great video by the OpenJ9 folks https://www.youtube.com/watch?v=LmmwtquTpQs