Introduction
I've been catching up on some features that have been added in recent versions of Java. The 6 month release cadence of new versions of Java is great, but can lead to a build up of new things to learn about.
The support for pattern matching in switch statements - JEP 406 - is particularly appealing, but for now it is still only available as a preview feature, meaning that at compile time and at run time we need to explicitly specify to enable preview.
A shallow view of the main cloud providers
A lot of online applications these days will run in some sort of cloud runtime environment. Some examples from the main cloud providers are:
According to what the documentation currently specifies, AWS Lambda's pre-packaged Java environments only support versions 8 and 11 unless you bring your own Docker container. Similarly, Azure Functions only offer versions 8 and 11. This leaves us to consider Google Cloud Functions which supports and recommends Java 17.
What can we try out?
As far as I can tell, the Google Cloud Function way of running Java doesn't allow us to control command line arguments to the Java runtime, so we cannot simply specify --enable-preview that way.
This leaves us to try out customizing AWS Lambda to:
- set up a Docker container including the Java 17 runtime
- set up a wrapper script to pass --enable-preview as a command line paramater to make the lambda initialize with the functionality that we want.
No comments:
Post a Comment