2011-08-03 2 views
1

클래스/개체가 합법적 인 직렬화 가능 객체인지 여부를 알려주는 도구를 찾고 있습니다 (직렬화 가능을 구현하고 해당 필드는 모두 직렬화 가능). 개체가 런타임에만 직렬화 가능 여부를 알 수 있습니다. 클래스가 직렬화 가능하지 않을 수 있는지 (예 : 멤버가 직렬화 할 수 없지만 런타임에 null이거나 직렬 하위 클래스 유형 일 수 있음) 컴파일 타임에 경고를 표시하려고합니다. 또한, 런타임시 클래스가 실제로 직렬화 가능 객체인지 네트워크를 통해 전송하려고 시도하기 전에이를 확인하려고합니다.직렬화 검사 - 컴파일 시간 및 런타임

감사합니다 ...

답변

1

일반적으로 정적 코드 분석을 사용하여 수행됩니다.

많은 도구 중 하나가 Findbugs입니다. 그것은 많은 일반적인 문제들과 의심되는 행동들에 관해 당신에게 말할 것입니다. 수표 중 하나는 당신이 (described here)이라고 말한 것입니다.

대부분의 IDE에 대한 플러그인이 있으므로 작업하는 동안 작업을 수행 할 수 있으며 일반적인 패턴은 자동 빌드에이 패턴을 포함하는 것입니다.

4

컴파일 시간이 필요합니까? 이전에 단위 테스트를 통해이 작업을 수행 했으므로 개발 수명주기 측면에서 컴파일 시간에 매우 가깝습니다. This article은 다소 날짜가 오래되었지만 몇 가지 좋은 접근 방식에 대해 설명합니다. 또한 두 웹 서버를 사용하여 웹 응용 프로그램에 대한 실제 페일 오버 테스트를 수행하여 직렬화 가능 여부를 확인해야했기 때문에 직렬화 가능 상태를 포착했습니다.

+0

"이 기사"에 대한 링크를 잊어 버렸습니다. – AlexR

+0

@AlexR - 게시 후 약 15 초가 지나면 고쳐졌습니다! – jkraybill