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