java.io.Serializable을 구현하지 않는 클래스의 객체가 javax.servlet.http.HttpSession.setAttribute() 또는 javax.servlet.http.HttpSession.putValue()의 인수로 사용된 경우를 보고합니다.
HttpSession이 패시베이션되거나 마이그레이션되지 않은 경우 그러한 객체는 직렬화되지 않으며 진단하기 어려운 버그를 초래할 수 있습니다.
이 검사는 타입 매개변수가 비 Serializable 객체가 아닌 이상 java.util.Collection 및 java.util.Map 타입의 객체는 Serializable이라고 가정합니다.
예:
void foo(HttpSession session) {
session.setAttribute("foo", new NonSerializable());
}
static class NonSerializable {}