[Seasar-user:6213] Re: [DBFlute] 初回テーブルアクセスについて
kubo
[E-MAIL ADDRESS DELETED]
2007年 2月 18日 (日) 14:36:01 JST
久保です。
米原さんへ
> >A. BeanMetaDataの初期化
> >B. 該当DaoクラスのDaoメソッド全ての初期化
>
> >です。
>
> そうですね。
> 検証頂いた内容によると、やむをえないといった感じですよね。
>
> >こちら、「どうしても初回アクセスを速くしなければリリースできない」というような状況でしょうか?
>
> 現在開発中で初回アクセスが頻発するため、気になって確認させて頂いた次第です。
> おっしゃる通り、設定の切り替えができると有難いですね。
実験的ではありますが、DBFluteにてメソッド単位の初期化を
指定できるようにしました。
どうしても気になるようでしたら設定してみて下さい。
(但し、結合TestやRelease時には元に戻すことをお奨めします)
isAvailableDaoMethodLazyInitializingをtrueにすると、
初回アクセス時は、呼び出されたDao-Methodのみ初期化が発生します。
※これは「B」に関する対応となります。
「A」の初期化処理はどうしても必要なため実行されます。
- - - - - - - - - - - - - - - - - - - - - - - - -
切り替えにgenerate実行(自動生成し直し)が必要となりますが、
いずれ、dbflute.diconの一部の設定を切り替えるだけで
On/Offできるようにしたいと考えております。
もしくは
xxx.allcommon.s2dao.S2DaoMetaDataExtensionの
setupSqlCommand()とgetSqlCommand()のoverrideを消せば
このPropertyをfalseにしたときと同じ動作になります。
- - - - - - - - - - - - - - - - - - - - - - - - -
DBFlute-0.4.2 Snapshot (2007/02/18 本日版) を公開しています。
上記の修正はこのVersionに反映されています。
http://dbflute.sandbox.seasar.org/ja/index.html
http://dbflute.sandbox.seasar.org/ja/advance_properties.html
# _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
# Other Property
# _/_/_/_/
# /---------------------------------------------------------------------------
# [DaoMethodLazyInitializing] (NotRequired - Default 'false')
# [true]
# S2Dao initialize per dao method.
#
# [false]
# S2Dao initialize per dao Interface(default behavior).
#
# *{Java Only}
#
torque.isAvailableDaoMethodLazyInitializing = true
# ----------------/
※ちなみにC#版は、DaoMetaDataImplのGetSqlCommand()がvirtualでないため
overrideできないので保留です。
--
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
kubo <[E-MAIL ADDRESS DELETED]>
jflute <http://d.hatena.ne.jp/jflute>
株式会社ビルドシステム <http://www.buildsystem.co.jp>
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
Seasar-user メーリングリストの案内