티스토리 뷰

개발/Java

Devtools object casting fail

haloper 2017. 4. 3. 09:14
DevTools는 리소스 변경 시 자동으로 서버를 재시작 해주며, Context에 instance 정보들을 저장하고 재사용 하여 서버 재시작 속도를 향상시켜 주는 기능을 합니다. 하지만, DevTools는 object deserialize 시에 casting이 잘 안되는 오류를 가지고 있습니다. (참조: http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#using-boot-devtools-known-restart-limitations) "ClassCastException: MyObject cannot be cast to MyObject" 라는 굉장히 희안한 오류 메시지를 보실 수 있습니다.

 

DevTools는 내부적으로 두 개의 context를 가지고 있고, 두 context 사이에 serialize, deserialize가 제대로 동작하지 못하는 문제를 가지고 있습니다. 이 문제를 해결하기 위해서는 ObjectInputStream를 이용하여 serialize 하는 third-party 라이브러리를 사용하지 말고, ConfigurableObjectInputStream를 사용하는 third-party 라이브러리만 사용해야 합니다. 하지만, 불행하게도 많은 third-party 라이브러리들이 ObjectInputStream를 사용하고 있습니다.

'개발 > Java' 카테고리의 다른 글

JPA 사용 시 View단에서 무한루프에 빠지는 오류 해결 방법  (1) 2016.12.26
Restful API 개발 참고 사항 요약  (0) 2016.11.08
Java Method Overriding  (0) 2016.06.17
String #2 객체 비교  (0) 2016.06.03
Java String #1  (0) 2016.05.30
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함