Java/Java Library
-
[okhttp3] okhttp IOException: unexpected end of stream on AddressJava/Java Library 2020. 12. 17. 18:28
스프링에서 okhttp3 를 사용중 로그에 다음과 같은 오류 메시지가 떴다. okhttp3 사용 중에 간헐적으로 unexpected end of stream on [주소] 가 나왔다. request 를 요청받는 서버 설정마다 다른 것 같다. 해당 원인은 요청받는 서버의 keep_alive timeout 이 okhttp 로 요청하는 클라이언트 서버보다 timeout 시간이 낫기 떄문이다. 다시 말하면 클라이언트 서버가 timeout 이 받아주는 서버 timout 보다 길다. 나의 경우는 Okhttp3 로 요청하고 나서 프로세스가 조금 긴 경우에 다음과 같은 현상이 나왔다. 클라이언트가 서버에서 데이터를 받고나서 서버의 keep_alive timeout 시간이 지났음에도 클라이언트에서는 프로세스가 끝나지 않..
-
[JAVA] Date 및 LocalDateTime 을 Json String으로 변환시 주의(Gson 및 Jackson)Java/Java Library 2020. 10. 25. 23:45
Gson 라이브러리 및 Jackson 사용하여 Json String 을 만들때 Date 클래스 및 LocalDateTime 항목이 있는 class 으로 json string 으로 변환하게 되면 변환된 값이 yyyy-MM-dd'T'HH:mm:ss 이러한 포맷으로 변환이 되지 않는다. 이런 경우 모두 커스텀을 해줘야 한다. Jackson Date with Jackson public class ItemDate { private Integer id; private String name; private String createBy; @JsonFormat(shape= JsonFormat.Shape.STRING, pattern="yyyy-MM-dd'T'HH:mm:ss.SSSZ", timezone="Asia/Seoul..
-
Gson Desrializer Serializer - json 파싱 및 json string 만들기(커스텀)Java/Java Library 2020. 10. 21. 00:40
java 에서 파싱을 해주는 라이브러리가 있는데 대표적인 라이브러리고 gson 과 jackson 있다. gson 을 사용시 기본적으로 new Gson().toJson() 및 fromJson() 으로 기본적인 파싱이 되지만, 종종 커스텀이 필요한 경우가 있다, 이런 경우 Desrializer 및 Serializer 기능이 필요하다. 1. Custom Serialization Serialization 은 toJson 할 경우 필요하다. 자바 객체를 Json 으로 변환 시 필요하다. 예시 Serialization 생성 public class BooleanSerializer implements JsonSerializer { public JsonElement serialize(Boolean aBoolean, Ty..