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 にあります。
助けてください!