2011-09-16 8 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 오류가 무엇입니까? 세션 데이터를 잃어 가고 있습니까? 이걸 어떻게 시험해? 세션 stickiness가 작동하면 세션 복제가 필요합니까? – JoseK

+0

우리는 클래스에 끈적 세션 및 세션 복제를 시연한다고 가정합니다. 다음과 같은 테스트가 있습니다 : 우리는 tomcat 예제 인 date.jsp를 사용하여 이것을 보여줍니다. 한 머신에서 session.setAttribute ("abc", "123")를 설정하고 다른 머신에서는 session.getAttribute를 설정했습니다. 첫 번째 시스템을 종료하고 브라우저에서 세션 복제 –

답변

8

java.io.Serializable을 소위 마커 인터페이스입니다. 메소드가 없습니다. 따라서 어떤 클래스의 객체를 직렬화 가능하게 만들려면 아무 것도 구현할 필요가 없습니다. 구현하는 클래스 목록에 Serializable을 추가하기 만하면됩니다.

즉 :

class MyClass implements Serializable { 
} 
+1

또한 'MyClass'의 모든 필드의 클래스는 필드가'transient '로 선언되지 않는 한'Serializable'을 구현해야합니다.이 경우 직렬화에 의해 건너 뛰고'MyClass'가 deserialize 될 때 기본값으로 간주됩니다. –

+0

이것이 우리가 구현 한 것입니다. 문제는 직렬화 가능하지 않을 수 있습니다. –

+1

@ Wen-Jun은 객체가 참조하는 모든 단일 객체가 Serializable을 구현합니까? 그렇지 않은 시스템 클래스를 포함하는 경우 다른 솔루션을 찾아야합니다. 그 오류 메시지는 분명히 그것이 말하는 내용을 의미해야합니다 : 세션으로가는 뭔가가 Serializable을 구현하지 않는다는 것입니다. – dbreaux

관련 문제