UI メッセージを解決し、Spring フレームワークを使用して Web アプリケーションで内部化サポートを提供するさまざまな方法は何ですか?
プロパティ ファイルと ResourceBundleMessageSource を使用して、Spring でメッセージを解決します。Spring の実装により、アプリケーションの CPU 使用率が高くなります。ResourceBundleMessageSource の実装には 2 つの問題があります。
- ロック競合 - getResourceBundle() と getMessageFormat() の両方が同期されます。
- MissingResourceException - メッセージの解決には、アプリケーションで定義されたすべてのリソース バンドルのループ処理と bundle.getString(key) の呼び出しが含まれます。キーが見つからない場合、bundle.getString(key) メソッド呼び出しは MissingResourceException をスローします。指定されたキーのメッセージが見つかるまでキーを検索します。例外の構築は遅いプロセスであり、CPU を食い尽くす可能性があるため (これは負荷テストで観察したことです)、これがボトルネックのように見えます。
上記の問題の両方に対する回避策がありますが (クラスを拡張して動作をオーバーライドすることにより)、Spring フレームワークで Web アプリケーションに国際化サポートを提供する他の方法があるかどうかを知りたいと思いました。
前もって感謝します