【アップデート】AWS LambdaでJava 11(Corretto 11)がサポートされました!
先日のアップデートにより、LambdaでJava 11(Corretto 11)が利用できるようになりました!
AWS Lambda now supports Java 11 | AWS Release
今まではJava 11をLambdaで利用しようとした場合、自分でカスタムランタイムを作成する必要がありました。
AWS Lambda のカスタムランタイムにて Java のカスタムランタイムで関数を動かす | mike-neckのブログ
しかし、今回のアップデートによりデフォルトでJava 11のランタイムを選択できるようになりました!
さらに、ただJava 11が使えるようになったわけではなく、
Amazon謹製のOpen JDKディストリビューションであるCorretto 11を利用することができるようになっています。
早速、Java 11を試してみましょう!
はじめに
こんにちは。
クラウドソリューショングループのwatanabe.tです。
この記事は アイソルートAdventCalendar2019 2日目の記事です。
昨日は namiki.t さんの 「ダークモード」のすゝめ でした。
ただダークモードを使いたくなるだけでなく、自分もダークモードを意識してアプリを作らねば、と思ってしまうような記事でしたね。
Why Java 11(Corretto 11)?
まずは前提知識として、Javaのリリースサイクルを振り返っておきましょう。
Java8までは1つのバージョンが長い期間継続開発・サポートされるようなポリシーでしたが、Java9からはそのサポートポリシーが変更になりました。
また、LTSの対象となるバージョンも限られており、下表のようなリリースサイクルが予定されています。
詳細は Oracle公式サイト 参照してください。
バージョン | リリース日 | サポート期限 |
8 | 2014年3月 | 2022年3月 |
9(non-LTS) | 2017年9月 | 2018年3月 |
10(non-LTS) | 2018年3月 | 2018年9月 |
11(LTS) | 2018年9月 | 2023年9月 |
この表にあるように、Java 8のサポートは2022年までとなっており、早い段階でのJava 11への移行をしていくことが肝要です。
やってみる
さて、早速Lambdaのマネジメントコンソールから確認してみましょう。
ちゃんとランタイムでJava 11が選択できるようになっています!
まずは、このままJava 11でLambda関数を作成します。
次に、Lambdaのコードを書いてみます。
試しにJava 11で利用できる 型推論 を使ってみましょう。
※Java 10の新機能ではありますが、Java 8では使えなかったので検証のために利用します。
public String handleRequest(Context context) {
var greet = "Hello from Lambda";
return greet;
}
コードを作成・ビルドした後に適当なテストイベントを設定して実行してみると……
無事に実行が完了し、 型推論 が機能していることが確認できました!
まとめ
2019年3月にGAされたCorretto 11 がAWS Lambdaで利用可能となりました。
AWS LambdaでのJava 8ランタイムサポートのEOLについてはアナウンスされていませんが、Java 8自体は2023年6月にEOLを迎える予定となっています。
EC2などではCorretto 11が利用できるようになっていたため、Java 8からの移行や導入を検討されていた方も、AWS Lambdaの未サポートがハードルになっていたのではないでしょうか。
今回のリリースにより、サポート期間が長く、より安定して使うことができるJava 11環境でランタイムを統一することもできるようになりました。
ぜひ、この機会に導入を検討してみてはいかがでしょうか。
明日は imai.k さんの 「【データポータル】スプレッドシートのデータで簡単ダッシュボード作成!」です。