T2 0.6.3-cr1をリリースしました


T2 0.6.3 CR(Candidate Release)1をリリースしました。

新機能

  1. 初期化パフォーマンス向上対策(GAE/J spin-up対策含む)

初期化パフォーマンス向上は全てのアプリケーションで恩恵にあずかれます。
GAE/Jでも初期化時に重い処理をしなくて済むのでspin-upに一定の効果があります。
RC1で更に検証して正式版をリリースします。


機能的としては、簡単に言えばT2初期化時に行っていたルートパッケージを見て
そこからPageクラスを探して登録するプロセスを省き、page.propertiesという設定ファイルによって登録するという手段です。

設定ファイルは非常に簡単なpropertiesファイルによる記述で、

ルートパッケージ名=クラス名(複数ある場合はカンマ区切り)

で登録します。
設定ファイルは3つの手段を選択できます。

  1. 自分で書く
  2. java -jar t2-jar [classファイルのルート出力先] [ルートパッケージ] [page.properties出力先]で実行して半自動で作成する
  3. APT(Annotation Processing Tool)によってコンパイル時に生成する

しかし、大事なのはこの機能はあくまで補助機能であって既存のT2の挙動にはなんらかわりないという点です。
詳細はこれから出すT2サンプルAPT版などをみてもらえるとわかります。

改善

  1. @Var/@RequestParam/@SessionParamで型変換をサポートしてほしい。
  2. @Formで使われるDTOをContainer管理化に出来ない

改善点は主に型変換とFormの扱いについてです。
型変換についてはポリシとの兼ね合いで迷いましたが、基本的な型変換は許容することにしました。
@Formで使うDTOをコンテナ管理にするとJSR299 CDI(Contexts and Dependency Injection)などで使えるようになります。
詳細は以下をご覧ください。

バグ修正

  1. Formの日付変換がロケールが違うと正しく機能しない

注意事項

  1. FormResolver#resolveのAPIの引数が変更になりました.