JRebel 7.1.0をリリースしたのが6ヶ月前になります。JRebelはRogue Wave SoftwareのJavaソリューションの大きな柱となりました。これを記念して、JRebelを2011倍機能強化しました!本バージョン2018.1.0より年度がバージョン番号のベースとなります。今年の2番目のメジャーリリースは2018.2.0となります。マイナーアップデートは3番目の数字をインクリメントしますので次のマイナーリリースは2018.1.1となります。我々は継続的に製品を強化し続け、新しいフレームワークバージョンをサポートしていきます

JRebel 2018.1.0をダウンロード

Java 9ですって?もうJava 10をサポートします!

Java 9をリリースしてすぐ、Oracleは今後年に2回Javaをリリースしていく計画を発表しました。以前はJavaのメジャーリリースには2年またはそれ以上の年月を要していました。もうJava 10がリリースされました。そしてJRebel 2018.1.0でもJava 10をサポートします!デベロッパから見てJava 10で一番注目すべき点はローカル変数の型推論です。ローカル変数に var を使うことができ、コンパイラはどの型になるのか推論してくれます。つまりこのように記載することができます:

var list = new ArrayList<String>();

コンパイラは変数 list の型が ArrayList<String>であると判別してくれます。

Javaは依然強く型付けされた言語です。var が導入されてもそれに変わりはありません。単にコンパイラが型情報を埋めてくれるだけです。

さらに、Java 10では沢山の変更をJVMにもたらします。例えばG1ガベージコレクタはパラレルフルGCをするようになりました。またガベージコレクタのインターフェースが導入され、今後新しいGCをJVMに追加するのが容易になりました。すでに複数の新GCの計画があります。

Java 9と同じくJava 10は“Long Term Support” (LTS)リリースではありません。つまりOracleからのアップデートは6ヶ月、次のメジャーリリースまでしか提供されません。でもご安心ください。現在Java 9を使っていてまだJava 10への移行が出来ないとしてもJRebelはまだJava 9をサポートします。LTSでないJavaバージョンもリリースから2年はサポートする予定です。じっくりと移行してください。またJava 11のようにLTSリリースにつては少なくともOracleがプレミアサポートを提供している間はサポートする予定です。それ以上についてはお客様からの要望に応じてサポートを続ける見込みです。他のベンダからのリリースについてもどうようになる予定です。まとめると、JRebel 2018.1.0はLTSリリースであるJava 6、7、8とnon-LTSリリースであるJava 9と10をサポートします。

エコシステムとの協調

JRebelはエコシステムの先頭を走り続けます。フレームワークの新しいバージョンがリリースされればすぐにサポートします。Spring Bootも例外ではありません。Spring Boot 2が先日リリースされましたがJRebel 2018.1.0はもうサポートしています。これまでと同じくクラスや設定ファイルの変更を即座にリロードできます。Spring Bootの新しいリクエストハンドラの設定方法であるRouterFunctionビーンを通した場合も同様です。ビーンプロデューサーメソッドに変更があればRouterFunctionビーンはリロードされ、リクエストマッピングは変更が適用されます。

Spring Boot 2についてさらに、JRebelは過去6ヶ月の新しいアプリケーションサーババージョンであるGlassFish 5、Wildfly 12、JBoss EAP 7.1もサポートします。インテグレーションはより強化されており、これまで以上に設定変更をリロードできます。Spring Integrationのservice activatorのリロードDozerのbean mappingのリロードなども出来るようになりました。

エージェントの刷新完了

JRebelは過去3年間、2種類のエージェントを提供してきました。JRebel 6.0.0から提供しているJRebel Agentは7.0.0でデフォルトとなり、十分な評判を得ていますのでレガシーエージェントについてはリタイアしても良いという判断に至りました。JRebel 7.xがレガシーエージェントを同梱する最後のバージョンとなります。つまりJRebel 2018.1.0ではJava 5はサポートされません。何らかの理由で依然Java 1.4かJava 5のアプリケーションを開発・メンテナンスしなけれっばばらない場合はアーカイブより以前のバージョンをダウンロードしていただけます。

[原文:Introducing JRebel 2018.1.0 – featuring Java 10 and Spring Boot 2]