- PR -

クラスタリング環境下でStrutsを使用する場合の注意点

1
投稿者投稿内容
カヌー
会議室デビュー日: 2003/01/14
投稿数: 19
投稿日時: 2004-09-13 14:45
お世話になってます。

クラスタリング環境下でStruts1.1を使おうと思っています。
session#setAttribute()、session#removeAttribute()時にレプリケートのフラグが立ち、リクエスト処理の最後にレプリケート処理が行われるとして、どの様な点に気をつけるべきでしょうか?

今のところActionFormがセッションスコープのとき、
・ActionFormのインスタンス変数「servlet」がtransient修飾されているので、毎回setServlet()を行う。
・ActionFormはprocessActionFormでしか、session#setAttribute()されてないので、レプリケート処理の前に再度session#setAttribute()する必要がある。
ことは認識しているのですが、
その他に何か注意すべき点がありましたらご教授願いたいと思います。
宜しくお願いいたします。
おばけ
ぬし
会議室デビュー日: 2002/11/14
投稿数: 609
お住まい・勤務地: 東京都江東区
投稿日時: 2004-09-14 00:06
ごめんなさい、良く分からないんですが、なぜActionFormをSession Scopeで使うのでしょうか?
Strutsのお作法だと、ActionFormはあくまでRequest Scopeで閉じる物であると思います。
そのScopeを超えてデータを保持するなら、一度JavaBeanにデータをコピーし、そのBeanを
Session Scopeに入れるのが筋である気がします。

それから、おっしゃっているクラスタリング時の挙動は、コンテナ依存であると思われます。
ですから、尚更そのような環境依存の挙動を意識するのは良くないかと。
カヌー
会議室デビュー日: 2003/01/14
投稿数: 19
投稿日時: 2004-09-14 11:09
おばけ様、返答ありがとうございます。

引用:

Strutsのお作法だと、ActionFormはあくまでRequest Scopeで閉じる物であると思います。


たしかにその通りですが、お作法とかは意識せずに生のStrutsでできることは分散環境でも実現できるように、と今のところ考えています。その上で、実現不可能なところは規約などで縛りたいと思っております。
1

スキルアップ/キャリアアップ(JOB@IT)