[Seasar-user:17857] Re: [SAStruts]インターセプター(Interceptor)中でのDBアクセスの実装方法について

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2009年 6月 25日 (木) 23:00:20 JST


小林 (koichik) です.

Date:    25 Jun 2009 22:45:57 +0900
From:    [E-MAIL ADDRESS DELETED]
To:      <[E-MAIL ADDRESS DELETED]>
Subject: [Seasar-user:17856]  Re:[SAStruts]インターセプター(Interceptor)中でのDBアクセスの実装方法について

> 前回質問の認証インターセプターに対象外クラスの指定が必要で、
> かつ今回のメンテ中チェックは認証の外側に設定しなければならないので、
> HOTデプロイ対象(customizer.diconに定義しない形)にするのは難しい感触です。

customizer.dicon の定義は HOT deploy 対象に
するのとは別の話になります.
「customizer の設定をしない」のではなく,
「インターセプタの定義をしない」です.

[Seasar-user:17804] の例では

<カスタマイザの設定> ※「useLookupAdapter」「addIgnoreClassPattern」追加
  <component name="loginCheckCustomizer" class="org.seasar.framework.container.customizer.As
pectCustomizer">

は残して,

<インターセプタの設定> ※「instance」指定を追加
  <component name="loginCheckInterceptor" instance="request" (以下略)

を削除するということです.
dicon にこの定義があると,インターセプタ自身は
HOT deploy 非対象になってしまいます.
(以下略) の部分にプロパティの設定などが必要なら
無理ですが,そうでないなら削除できます.
# [Seasar-user:17811] に書いたとおり.

> そこでもう1点だけご確認させていただきたいのですが、
> 今回の事象はHOTデプロイ時のみのものなのでしょうか?

そうです.

>  ※COOLデプロイにしてみたところ、事象は発生しませんでした。
> もしそうであれば、開発時だけ同様のエラー(初回アクセス時のみ)は
> ガマンする(すかさずF5:更新を押す)、という方向でも良いと考えています。

インターセプタの定義を削除する方向で考えた方が
いいと思いますよ.


-- 
<component name="koichik">
    <property name="fullName">"Koichi Kobayashi"</property>
    <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
    <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>



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