[Seasar-user:17856] Re:[SAStruts]インターセプター(Interceptor)中でのDBアクセスの実装方法について
[E-MAIL ADDRESS DELETED]
[E-MAIL ADDRESS DELETED]
2009年 6月 25日 (木) 22:45:57 JST
田中です。
いつも素早いご回答を頂きありがとうございます。
> HOT deploy 非対象クラス (Interceptor) が
> HOT deploy 対象クラス (Employee) を参照すると
> よく発生する現象です.
>
> 回避策としては,Interceptor が HOT deploy 対象と
> なるようにするのが一つ.
> 現在は Interceptor を dicon に定義していると
> 思うのですが,プロパティになにか明示的な設定を
> しなければならないなどの理由がなければ dicon に
> 定義するのをやめてください.
> Interceptor が <root>.interceptor パッケージで
> あれば,SMART deploy によって自動登録されるので,
> dicon に定義する必要はありません.
前回質問の認証インターセプターに対象外クラスの指定が必要で、
かつ今回のメンテ中チェックは認証の外側に設定しなければならないので、
HOTデプロイ対象(customizer.diconに定義しない形)にするのは難しい感触です。
> Interceptor のプロパティになにか明示的な設定を
> する必要がある場合は dicon に定義せざるを
> 得ないので,Interceptor を HOT deploy 対象に
> することはできません.
> その場合は,Interceptor が参照する Employee なども
> HOT deploy 非対象にする必要があります.
こちらはサービスを全て登録しなければならず、
Seasarの制約としてはややキツい印象です。
※サービスも数十はありそうなので。
そこでもう1点だけご確認させていただきたいのですが、
今回の事象はHOTデプロイ時のみのものなのでしょうか?
※COOLデプロイにしてみたところ、事象は発生しませんでした。
もしそうであれば、開発時だけ同様のエラー(初回アクセス時のみ)は
ガマンする(すかさずF5:更新を押す)、という方向でも良いと考えています。
※逆に、他にも影響がありそう、ということであれば、
DBアクセスは諦めてファイルアクセス等を検討します。
Seasar-user メーリングリストの案内