[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 メーリングリストの案内