Future Tech Night #10 に参加しました。オンライン開催。簡単に所感をまとめます。
所感
前半は Java 8 から Java 16 で追加された API のおさらいみたいな感じでした。Record の機能は Lombok でまかなえるっていう意見が TL で流れてたけど、標準機能として提供されるところに価値があると思う。
後半は Tomcat の話。Tomcat のコミッターで 詳解 Tomcat の著者。マニアックというだけあって、知らない内容もあってとても参考になりました。
今週末は JJUG CCC かー。
以下、メモから抜粋。
Javaはレガシー言語からモダンな言語へ。どこまで知ってる?Java最新事情!
- Java 8 から Java 16 の API おさらい
- ラムダ式
- Stream API
- Optional
- Date and Time API
- var
- HttpClient (HTTP/2)
- Switch 式
- テキストブロック
- Record
- instanceOf
- Sealed Class
Future では 14 を使っているところが多い。16 へのバージョンアップもあるかも。バージョンの追随はコストとの兼ね合い。deprecated な API の調査が大変。
Tomcatコミッタがお送りするちょっとマニアックなコンフィグレーション10選
- 設定値を外部リソースから読み込む
${KEY}
- 環境変数からの読み込みも可
- ポートオフセット
- JSON Error Report
- デフォルトの HTML ではなく JSON で返す
- StuckThreadDetectionValve
- 閾値以上、スタックしたスレッドの stacktrace が出力される
- スレッドダンプのようなロック情報は見れない
- レガシーアプリケーションベース
- 静的クラスタメンバーシップ
- 組み込み Tomcat のコンフィグソース
- 多言語対応
- ログは環境に合わせた言語で出力される
- POEditor
- 変なのがあったらコントリビュートしましょう
- Tomcat 10 以降のバージョン体系
- Tomcat は Java EE のサブセットをサポートしている
- Tomcat 10 は Jakarta EE 9 をサポートする
- Jakarta EE と併せて Java EE 8 は長めにサポートされそう
- 自分のアプリケーションをどのバージョンの Tomcat で動かすか
- Apache/Tomcat の通信は HTTP にした方がよい