2013-12-12 2 views
0

바람둥이가 org.apache.catalina.core.StandardContext 인 경우에만 동일한 변수가 null 인 경우에만 직렬화되지 않으므로 클래스에 변수가 있습니다. 그렇지 않습니다.일시적인 변수가 org.apache.catalina.core.StandardContext를 다시로드 한 후 null입니다.

public class bean extends UnicastRemoteObject implements clientInterface{ 
(...) 
    private transient OAuthService service; 
(...) 
} 

에서 netbeans에 나타납니다 아파치 톰캣 다음이 변수가 null ....

누군가가 말해 왜 수org.apache.catalina.core.StandardContext 다시로드를 기록 ... 이유를 알고?

답변

0

변수가 어떤 식 으로든 HTTP 세션에 첨부 된 객체에 속한 경우 이러한 현상이 발생할 수 있습니다.

세션 내용을 직렬화하면 새 클래스 로더가 만들어지고 세션이 역 직렬화됩니다.

변수가 일시적으로 표시되면 직렬화되지 않고 다시로드가 완료되면 내용이 null이됩니다.

는 직렬화 및 다시로드 사이의 관계에 대한 tomcat documentation지속성 다시 시작에서 섹션에서 참조하고, Tomcat이 다시 시작을 처리하는 방법에 대한 자세한 내용은이 blog post세션 지속성.

+0

예 저는 일부 문서를 읽었을뿐입니다. 해결책을 찾지 못했습니다. context.xml을 넣으려고 시도했습니다. 그 때만 그는 세션을 중단 할 때마다 다시로드합니다. 그리고 그렇지 않습니까? – user2989745

+0

아마도 OAuth 서비스가 사용되고있는 클래스의 코드를 게시하는 것이 더 낫습니다. 이상한 세션에 연결되어있는 것 같습니다. –

+0

나는 게시물을 편집하고 세션을 저장했습니다. 인스턴스화 된 Bean 객체 유형. – user2989745