[Seasar-user:7190] Re: [Seasar]Session スコープのコンポーネントの破棄

原田 [E-MAIL ADDRESS DELETED]
2007年 4月 11日 (水) 17:48:59 JST


原田です。

なるほど。

ありがとうございます。



Koichi Kobayashi <[E-MAIL ADDRESS DELETED]> wrote:

> 小林 (koichik) です.
> 
> Date:    Wed, 11 Apr 2007 11:30:35 +0900
> From:    原田 <[E-MAIL ADDRESS DELETED]>
> To:       seasar-ML <[E-MAIL ADDRESS DELETED]>
> Subject: [Seasar-user:7171] [Seasar]Session スコープのコンポーネントの破棄
> 
> > Sessionスコープのコンポーネントを要らなくなった段階で破棄したいのですが、
> > できるのですか?
> 
> RemoveSessionInterceptor を使うことができます.
> Java5 であれば S2-Tiger の提供するアノテーションを
> 使用して,
> 
> public class Foo {
>   @RemoveSession("foo")
>   public void foo() {
>     ...
>   }
> }
> 
> とすることで,foo() メソッドが実行された後に
> HttpSession から "foo" という名前の属性が削除
> されます.
> 複数の属性をまとめて削除する場合は
> 
> @RemoveSession({"foo", "bar"})
> 
> のように名前を並べることができます.
> 
> J2SE1.4 では少し面倒で,dicon に
> RemoveSessionInterceptor を登録する必要があります.
> 
> <component name="fooRemoveInterceptor"
>     class="org.seasar.framework.aop.interceptors.RemoveSessionInterceptor">
>   <property name="name">new String[] {"foo"}</property>
> </componnet>
> 
> このインターセプタを任意のメソッドに適用することで,
> そのメソッドが実行された後に HttpSession から
> "foo" という名前の属性が削除されます.
> 
> インターセプタを適用するには dicon に直接書くか,
> 自動登録ならAspectAutoRegister,SMART deploy なら
> AspectCustomizer で指定できるほか,
> 定数アノテーションで
> 
> public class Foo {
>   public static final String ASPECT = "value=fooRemoveInterceptor, pointcut=foo";
> 
>   public void foo() {
>     ...
>   }
> }
> 
> のように指定することもできます.
> 
> 
> --
> <signature>
>    <name>Koichi Kobayashi</name>
>    <e-mail>[E-MAIL ADDRESS DELETED]</e-mail>
> </signature>
> 
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user




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