Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- JDK1.3
- docker 명령어
- scrapy
- Spring Batch 강의
- Spring
- python
- 도커
- spring boot 시작
- Vue 배우기
- Vue 강의
- docker
- 젠킨스
- IntelliJ
- 티스토리 광고 수익
- Vue 알아보기
- intelliJ plugin
- 애드센스 수익
- 구글 애드센스 수익
- 미국주식
- apache log4j
- Python 기본편
- Vue
- 미국 배당주
- python 기초
- Spring Batch
- MYSQL
- docker mysql
- spring Annotation
- AES256
- gradle
Archives
나만의공간
ModelMaper Package 오류 대응 본문
ModelMapper 사용으로 인한 오류 대응
ModelMapper를 이용하여 DTO or Entity or Domain등에 Model 매핑을 잘 사용하고 있었다.
QA환경에서 지속적인 테스트를 수행하고, 아무 문제 없이 잘 되고 있었다.
곧 PRD환경 반영을 위해 PRD에서 Business 오류가 없는지 30시간 정도 수행을 했는데, 제니퍼에서 OOM(Out Of Memory)가 발생하고 해당 Thread는 종료 되버리는 현상이 발생하기 시작 ㅜ.ㅜ
오류 메시지는 아래와 같다.
(처음에는 Configure Error문구가 보여 환경설정 문제인지 알고 한참 찾았음)
trace: org.modelmapper.ConfigurationException: ModelMapper configuration errors:
1) Failed to configure mappings
1 error
at org.modelmapper.internal.Errors.throwConfigurationExceptionIfErrorsExist(Errors.java:241)
at org.modelmapper.internal.ExplicitMappingBuilder.build(ExplicitMappingBuilder.java:252)
at org.modelmapper.internal.ExplicitMappingBuilder.build(ExplicitMappingBuilder.java:104)
at org.modelmapper.internal.TypeMapImpl.addMappings(TypeMapImpl.java:92)
at org.modelmapper.internal.TypeMapStore.getOrCreate(TypeMapStore.java:124)
at org.modelmapper.ModelMapper.addMappings(ModelMapper.java:113)
구글 검색으로 이것저것 찾아 보니 ModelMapper를 사용할려면 싱글톤으로 구성하여 사용하라고 한다.
오픈이 바로 다가와 ModelMapper를 싱글톤으로 변경은 못하고 원천 방식은 get/set 방식으로 변경하여 Memory Leak을 해결 하였다.
(get/set으로 변경해도 Memory Leak이 추가로 발생하였음 ㅠㅠ)
ModelMapper 보다는 BeanUtils가 쓰기 편했으나 장단점이 존재함.
Object Mapper 종류
Model Mapper 말고 다른 종류에 Objet Mapper가 있는지 찾아 보았다.
-. Object Mapper
-. Orika
-. Model Mapper
-. Map Struct
-. BeanUtils
위 종류는 따로 추가 정리를 해 봐야 겠다.
'IT > JAVA' 카테고리의 다른 글
JWT(Json Web Token) 이란? (0) | 2022.03.14 |
---|---|
맥북 STS(Eclipse) Class 파일 DeCompiler(디컴파일) 하는법 (0) | 2022.02.18 |
Java 편의성 Util #1 (0) | 2021.12.17 |
Project language level은 무엇인가 (0) | 2021.12.14 |
Java O/X 매퍼(Mapper)를 사용한 XML 마샬링(Marshalling) 방법 (0) | 2017.08.31 |
Comments