せてぃーずノート

Javaのイベント参加レポートとかを書いたりします。

Spring Fest 2019メモその1 キーノート

Spring One 2019

youtubeにセッションがあり視聴可能

2つの新しい機能を発表
RSocketとR2DBC

Pivotal Spring Rutimeの発表
Java、Spring、Tomcat等をセットでサポート

Springboot2.2の変更点

Java13をサポート
今後、Javaのバージョンの対応はSpringBootのアップデートで対応
(Java14の対応は2.2で行うのではなくSpringboot2.3になる?)

DependencyManegementを更新
最も重要な機能はバナーが256色に対応したこと

Rsocketの追加
Facebookも使用している

Imutable Congfiguration Propertie
一定間隔でコンフィグを再読み込み?

JUnit5

テストメソッドがpublicじゃなくてもよくなる temp directoryとかのテストに必要な便利な機能
SpringBootTestだけで良くなる
RunWithアノテーションが不要になる

パフォーマンス

  • 起動時間の改善:GCの回数削減、メモリフットプリントを小さくなったため
  • 遅延初期化:Beanは要求されなければ作成されない
  • ランタイムのパフォーマンス改善

Graalvmサポート

GraalVMは多言語対応でネイティブイメージを生成可能
ネイティブイメージは起動速度とメモリが圧倒的に少なくなるためサーバレスに向く。
しかし、スループットは下がり、リフレクションや動的プロキシに制約がある

Springは5.2でCGLIBを使わないモードが追加され、大体ネイティブ化できるようになった。
5.3では特に追加しなくてもネイティブ化を可能にする。

SpringCloudのアップデート

アルファベット順でロンドンの駅名を利用
Hoxtonが最新

Spring Cloud Netflixがメンテナンスモードになった。
今後の機能追加はなく、致命的な問題やセキュリティのFixのみ
代替手段は提供されているので公式ドキュメントを参照

Azure Spring Cloud

MicrosoftとPivotalの提携。

CloudNativeBuildpack

ソースコードからOCI標準のコンテナイメージを作成
Dockerファイルは不要
kpackを利用すれば、ビルドしてk8sにデプロイが可能

SpringBoot5.3

JDK17に向けた準備
GraalVMのネイティブイメージサポート
Rsocket、Corutinesの改善

Springboot 2.3

2020/4にリリース予定
コンテナ、k8sサポートの強化
依存ライブラリアップデート(SpringData)
2.3からリリース周期が6ヶ月周期に変更になる(今までは1年周期)

Springのサポート

1.XはすでにEoL
2020年1月に5.0と4.3の最後のリリース
2020/11 SpringBoot2.1 EoL
2020/12 Spring FW5.2 EoL