2

1 つのレガシー Web アプリケーションにはまだ Seam 2 (2.2.GA) を使用しています。すべてのもの (xhtml、java) をホットリロードする JRebel がありますが、i18n メッセージのプロパティはホットリロードしません。とても迷惑です!

それで、私たちは何を試しましたか?デバッグモード中 (開発中) に、次の Seam の組み込みコンポーネントをオーバーライドしようとしました:

  • org.jboss.seam.core.ResourceLoader - @Name("org.jboss.seam.core.resourceLoader")
  • org.jboss.seam.international.Messages - @Name("org.jboss.seam.international.messagesFactory")
  • org.jboss.seam.core.ResourceBundle - @Name("org.jboss.seam.core.resourceBundle")

また、次のクラスもオーバーライドされます。

  • DynamicSeamResourceBundle は org.jboss.seam.core.SeamResourceBundle を拡張します (バンドルを内部的にキャッシュしないように、seam の独自のキャッシュメカニズム)
  • DynamicResourceBundleControl は ResourceBundle.Control を拡張します (timeToLive = TTL_DONT_CACHE を使用して、Java のキャッシュ動作をオーバーライドします)

もちろん、カスタマイズされたコンポーネントは初期化され、Seam によって使用されます。もちろん、プロパティーファイルは、各試行の前に Bean の変更があります。しかし、すべてのトリックは役に立ちません!カスタマイズされたコードのアイデアは、https ://community.jboss.org/thread/184261 にあります。

助けてください!

4

1 に答える 1

1

問題を JRebel フォーラム/サポートに報告しましたか? JRebel-Seam統合で実装できると思います

于 2012-06-21T18:56:18.623 に答える