[Seasar-user:7562] Re: [DBFlute]CommonColumn について

kubo [E-MAIL ADDRESS DELETED]
2007年 5月 10日 (木) 00:34:00 JST


久保です。

> Build.propertiesにて、
> CommonColumnの、「R_USER」等に「LoginUserID」等を
> 指定する際に、static参照指定すると(LoginUserIDをstatic
> にすると)、マルチスレッドにて弊害が生じてしまう可能性が
> あると思います。
> (別ユーザログイン時に書き換わってしまう?など)
> 
> LoginUserIDなどの変数をCommonColumnに指定する場合、設定及び
> 参照先変数をどのようにされていますでしょうか?
> 
> また、CommonColumnに対してstaticでない変数を
> 指定する方法がありましたら御教授お願い致します。

ちゃんとドキュメントに一言でも書いておけば良かったですね。すいません。
そういう場合は、ThreadLocalを利用することを推奨します。
自分の周りのプロジェクトでは、Request時にその時のLoginIDを
FilterやInterceptorなどでThreadLocalに格納し、DBFluteは
そのThreadLocalから値を取得します。
これでマルチスレッドによる弊害は生じることはありません。




#
# Document更新しました。
# http://dbflute.sandbox.seasar.org/ja/tips-common_column.html
#





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