[Seasar-user:21529] Re: dbsessionでの重複エラーについて

TAKAYUKI ABIRU [E-MAIL ADDRESS DELETED]
2012年 12月 17日 (月) 13:46:42 JST


小林様
返信、ありがとうございます。

既に本番稼働しており、
なるべく影響が少ないように対応したいと考えています。
セッションレプリケーション機能を他のものに変更するしか方法はないでしょうか?

例えば、SessionStateManager#updateStateの実装クラスに対して、
synchronizedすることで回避できないでしょうか?

以上です。よろしくお願い致します。





2012年12月15日 15:15 Koichi Kobayashi <koichik @ gmail.com>:

> 小林 (koichik) です.
>
> DbSession としては、同じセッションへの複数の
> リクエストを排他制御する機能は提供していません。
> そのため、セッションへのアクセスが必要なリクエストが
> 同時に発生する状況を避けられないのであれば、
> DbSession は使えないということになると思います。
>
> Web コンテナが提供するセッションレプリケーションを
> 使った方がいいかもしれませんね。
>
>
> Date: Tue, 11 Dec 2012 23:00:43 +0900
> From: TAKAYUKI ABIRU <a.br.taka @ gmail.com>
> Subject: [Seasar-user:21524] dbsessionでの重複エラーについて
>
> > いつもお世話になっています。阿比留と申します。
> >
> > sastruts環境でseasarのdbsesseion機能を利用しております。
> >
> > このdbsessionで重複エラーが発生したため調査したところ、
> > 下記の状況が分かりました。
> >
> > 1.画面Aで複数枚の画像をアップロードし、DBに画像を登録。
> >
> > 2.画面A遷移後、画面Bにて登録した画像を全て再表示。
> > 画像はimgタグを使ってDBから取得。
> >
> > 3.2の画面Bの表示と同時に、サーバ側では画面Aのセッション情報がDBに登録されるのですが、
> > 画面Bの画像表示後のセッション情報も後追いで発生し、s2sessionテーブルにて重複エラーが発生。
> >
> > (また、これとは別で、ajaxで処理した際も重複エラーが発生することを確認しています。)
> >
> > このように、ほぼ同時にリクエストが発生した場合、
> > dbsessionでの重複エラーを回避方法はあるのでしょうか?
> >
> > 良い対応方法が見つからずに困っています。何か助言頂ければ助かります。
> >
> > 以上です。よろしくお願い致します。
>
> --
> {
>   name: "Koichi Kobayashi",
>   mail: "koichik @ improvement.jp",
>   blog: "http://d.hatena.ne.jp/koichik/",
>   twitter: "@koichik"
>  }
>
> _______________________________________________
> Seasar-user mailing list
> Seasar-user @ ml.seasar.org
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <http://ml.seasar.org/archives/seasar-user/attachments/20121217/fe01b5b3/attachment.html>


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