2011-09-16 15 views
2

以前はスティッキセッションを実装していました。ここでセッションデータをシリアライズ可能にするにはどうすればいいですか?

は、私たちの環境へのリンクです:Sticky Session in apache doesn't work

私たちの次のタスクは、セッションレプリケーションを実装することです。

現在、この動作を示すために、tomcatの例、cart.jspを使用しています。

すべてのセッション属性はjava.io.serializableを実装する必要があります。

実装のヒントはありますか?私たちはこのチュートリアルを綿密に続けています。

tomcat.apache.org/tomcat-6.0-doc/cluster-howto.html

+0

私たちは正しく、シリアライズ実装したと思います。問題は他のものかもしれません。セッションレプリケーションを実装するための他のチュートリアルはありますか? –

+0

エラーeaxctlyとは何ですか?あなたはセッションデータを失っていますか?どのようにこれをテストしていますか?セッションスティッキ性が機能している場合は、セッションレプリケーションが必要ですか? – JoseK

+0

クラスにスティッキーセッションとセッションレプリケーションをデモンストレーションすることを想定しています。ここには次のようなテストがあります: tomcatの例であるdate.jspを使ってこれを実証しています。あるマシンにsession.setAttribute( "abc"、 "123")を設定し、もう1つのマシンにsession.getAttributeを設定します。最初のマシンを停止し、セッションレプリケーション –

答えて

8

java.io.Serializableのいわゆるマーカーインターフェイスです。それはメソッドを含んでいません。したがって、あるクラスのオブジェクトをシリアライズ可能にするには、何も実装する必要はありません。実装するクラスのインターフェイスのリストにSerializableを追加するだけです。

すなわち:

class MyClass implements Serializable { 
} 
+1

また、 'MyClass'のすべてのフィールドのクラスは、フィールドが' transient'と宣言されていない限り、 'Serializable'を実装しなければなりません。この場合、直列化によってスキップされ、' MyClass'が非直列化されるとき、 –

+0

これは私たちが実装したものです。この問題は、直列化可能ではない可能性があります。 –

+1

@ Wen-Junは、あなたのオブジェクトによって参照されるすべてのオブジェクトもSerializableを実装していますか?そうでないシステムクラスを組み込む場合、別の解決策を見つける必要があることに注意してください。そのエラーメッセージは、セッションに何かがSerializableを実装していないということを明らかに意味するはずです。 – dbreaux

関連する問題