[Seasar-user:9753] MessageResourceBundleについて

PPOI [E-MAIL ADDRESS DELETED]
2007年 8月 7日 (火) 21:10:48 JST


 PPOIです。
 S2 Framework の MessageResourceBundle についての要望です。

 現在,Teeda では Validator や Converter のメッセージを取得する際に 
java.util.ResourceBundle ではなく,org.seasar.framework.message.MessageResourceBundle
を利用しています。
 しかし,MessageResourceBundle はリソースファイルの探索の際,Locale の
言語しか条件に含めていないため,たとえば en_US と en_UK でリソースを分け
るといったことができません。
 これを出来るようにしたいというのが今回の要望になります。

 対応策としては,以下のようなものが考えられると思います。

 1. MessageResourceFactoryで,ResourceBundleと同じルールでリソースファ
  イルを探索するようにする。
 2. S2JSFのValidatorと同じように,TeedaもResourceBundleを使用してリソー
  スを取得するようにする。

 1 については当座の凌ぎとして作成したMessageResourceFactoryのパッチを本
メールに添付します。ご参考まで。
 なお,パッチは8/7 20時時点のtrunkに対して作成・テストしており,主な修
正内容は以下の2点です。

  i. ResourceBundleと同じルールで探索するリソースファイル名のリストを
   構築し,それを元にMessageResourceBundleを構築する。
  ii. "リソースファイルがない"もキャッシュの対象とする。

 ii については,都度リソースファイルのあるなしをチェックすると,それな
りにパフォーマンスへのダメージが発生してしまうため,ResourceBundle と同
様に,"リソースファイルがない"という結果もキャッシュするようにしています。
 ただし,実行中のリソースファイルの追加を反映するにはアプリケーションの
再起動が必要になってしまうため,やむを得ず HotDeployUtil.isHotDeploy() 
の値を参照し,HotDeploy の時は都度リソースファイルのあるなしをチェックす
るようにしています。

 ResourceBundleを使用せずに,独自のリソースクラスを作成しているのは
HotDeployを実現するためかなと思っているのですが,なんにしてもせっかく
Localeごとにリソースファイルを分けることが出来るのであれば,言語だけでは
なく国やバリアントでも分けられた方が利用範囲が増えると思います。

 ぜひ対応をお願いいたします。

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 PPOI
  E-mail: [E-MAIL ADDRESS DELETED]
 Key fingerprint: 6F7E 2FED 72A7 C84C 9E5A  2EAC 6850 E1DF 0921 CAFB
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: MessageResourceBundleFactory.patch
型:         application/octet-stream
サイズ:     5051 バイト
説明:       無し
URL:        http://ml.seasar.org/archives/seasar-user/attachments/20070807/2a21762f/attachment.obj 
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: MessageResourceBundleFactoryTest.patch
型:         application/octet-stream
サイズ:     5286 バイト
説明:       無し
URL:        http://ml.seasar.org/archives/seasar-user/attachments/20070807/2a21762f/attachment-0001.obj 
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: test-resources.zip
型:         application/x-zip-compressed
サイズ:     1608 バイト
説明:       無し
URL:        http://ml.seasar.org/archives/seasar-user/attachments/20070807/2a21762f/attachment.bin 


Seasar-user メーリングリストの案内