[Seasar-user:14045] Re: [Teeda] doOnceFinishでの二重サブミット防止の動きについて

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2008年 5月 1日 (木) 18:00:03 JST


小林 (koichik) です.

Date:    Thu, 1 May 2008 16:12:57 +0900
From:    "西山はじめ" <[E-MAIL ADDRESS DELETED]>
To:      [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:14038] [Teeda] doOnceFinishでの二重サブミット防止の動きについて

> https://www.seasar.org/issues/browse/TEEDA-393
> これによりますと、doOnce〜の時の二重サブミット時の動作は、
>  他画面への遷移では、リダイレクト先
>  自画面への遷移では、DoubleSubmittedException
> と、ありますが、
> 
> doOnceFinsh〜での動作は、どちらも
>  DoubleSubmittedException が投げられるようになっているようです。
> 
> doOnceFinish〜の場合でもdoOnce〜時と同じ動作にしていただけないでしょうか。

難しいですね.
doOnce〜() の場合,トランザクショントークンを
SubapplicationScope で管理します.
一方,do〜Finish() では SubapplicationScope を
クリアしてしまいます.
そのため,doOnce〜Finish() ではトランザクション
トークンが無効であることしか判別できません.

トランザクショントークンの管理を Subapplication
Scope から分離するなどすれば対応が不可能では
ありませんが,これまでも問題が多く発生していた
箇所なので,大きく手を加えることは避けたい
ところです.

そんなわけで (どんなわけで?),現状の仕様で
お願いします.


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