0

NetBeans IDEを使用していますが、Glassfishを外部で使用しています(NetBeansに付属しているものではありません。ubantuのターミナルからGlassFishを使用しています)。私のプロジェクトでは、いくつかのプロパティファイルを使用してページにラベルをロードしています。ただし、問題は、実行時にプロパティファイルに変更が加えられた場合、その変更がページに反映されないことです。Glassfishサーバーを再起動する必要があります。ResourceBundleエントリはfaces-configファイルで作成されます。

//faces-config.xml
<locale-config>
        <default-locale>en</default-locale>
</locale-config>
<resource-bundle>
    <base-name>ValidationMessages</base-name>
    <var>msg</var>
</resource-bundle>
<message-bundle>ValidationMessages</message-bundle>

プロパティファイルに変更が加えられたときに、ResourceBundleのキャッシュをクリアする必要があります(ResourceBundle.clearCache();を使用)。そして、私はすでにそれを試しました。このソリューションは、突堤で完全に機能します。しかし、glassfishサーバーを使用すると効果がありません。

4

1 に答える 1

2

Googleですばやく検索すると、このGlassfishバグレポートが見つかりました。つまり、clearCache()効果的ではなく、現時点では回避策はないようです。

私もこのSOの質問に出くわしました-Webアプリケーションでリソースバンドルをリロードする方法は?-しかし、メインの回答があなたのケースに当てはまるかどうかはわかりませんでした。つまり、Glassfishで動作する場合。

于 2012-11-01T09:53:07.157 に答える