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

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


小林様

お世話になっております。阿比留です。

> synchronized で回避と言っても、性能面でも
> 信頼性の面でもちゃんとしたものを作るには
> それなりの時間がかかってしまいますし、
> Seasar2 の現状では、そのような機能を追加
> することになるとは考えにくいです。
>
> それよりは、すでに実績があるもの (Web コンテナの
> セッションレプリケーション) を選ぶ方が無難では
> ないかと思います。


なるほど。
影響範囲が少ない方法がないかと考えていましたが、
性能、信頼性で考えると、別のセッションレプリケーション機能に変更するしかないと言うことですね。


ご回答、ありがとうございました。

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



2012年12月19日 9:05 Koichi Kobayashi <koichik @ gmail.com>:

> 小林 (koichik) です.
>
> synchronized で回避と言っても、性能面でも
> 信頼性の面でもちゃんとしたものを作るには
> それなりの時間がかかってしまいますし、
> Seasar2 の現状では、そのような機能を追加
> することになるとは考えにくいです。
>
> それよりは、すでに実績があるもの (Web コンテナの
> セッションレプリケーション) を選ぶ方が無難では
> ないかと思います。
>
> > 既に本番稼働しており、
> > なるべく影響が少ないように対応したいと考えています。
>
> ということであれば、泥縄的ですが、
>
> > > > 1.画面Aで複数枚の画像をアップロードし、DBに画像を登録。
>
> この時点で、画像がリクエストされたときにセッションに
> 加えているオブジェクト (重複エラーになっているもの) を、
> ダミーでもいいので HTTP セッションに加えてしまっては
> いかがでしょうか?
> そうすれば、画像のリクエストでは INSERT ではなく UPDATE に
> なるので、エラーにはならないのではないかと思います。
>
>
> Date: Mon, 17 Dec 2012 13:46:42 +0900
> From: TAKAYUKI ABIRU <a.br.taka @ gmail.com>
> Subject: [Seasar-user:21529] Re: dbsessionでの重複エラーについて
>
> > 小林様
> > 返信、ありがとうございます。
> >
> > 既に本番稼働しており、
> > なるべく影響が少ないように対応したいと考えています。
> > セッションレプリケーション機能を他のものに変更するしか方法はないでしょうか?
> >
> > 例えば、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
> > >
>
> --
> {
>   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/20121219/d66b8689/attachment.html>


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