본문 바로가기

Back-End

(39)
Servlet Request Param String to ZoneDateTime 스프링 백엔드 도메인에서 날짜 관련 필드를 ZoneDateTime을 사용하고 있다. 처음 API 설계시 front에서 날짜관련 필드 API요청을 yyyymmdd 포맷으로 전송하기 때문에 requestDto, responseDto에 있는 날짜 관련 필드를 String으로 정의했다. 이게 별로 맘에 안들어서 String을 ZoneDateTime으로 변경하기로 했다. HTTP 바디 적용 serialize responseDto에 필드위에 @JsonFormat 애노테이션으로 쉽게 변경가능하다 deseirialize requestDto는 날짜가 바디에 있는 경우 HTTP 메시지 converter가 변환해주고 requestParam의 경우 Argument Resolver가 변환해 주는데 custom deseriali..
Failed to resolve org.junit.platform:junit-platform-launcher 스프링 개발환경에서 test케이스에서 우클릭해서 실행했을때 아래와 같은 오류가 발생했다. Failed to resolve org.junit.platform:junit-platform-launcher:1.8.2 이게 아직까지 고쳐지지 않은 잔버그 인 것 같다. gradle에 아래 내용 추가하면 해결된다. dependencies { implementation 'org.springframework.boot:spring-boot-starter' testImplementation 'org.springframework.boot:spring-boot-starter-test' testRuntimeOnly "org.junit.platform:junit-platform-launcher:1.8.2" } 다른 환경에서는 la..
서비스 타임아웃 설정 proobject7/applicaton/config에서 application.xml에서 App 공통 타임 아웃 설정 가능하다. 각각 서비스 그룹별로도 타임 아웃 설정 가능한다. servicegroup/config/servicegroup.properties 에서 설정하면 된다. pod 재부팅했을때 servicegroup.properties.log가 생기거나, 이 로그에 타임아웃 세팅이 된게 보이면 적용된 것이다. 만약 servicegorup.properties.log에 타임아웃 설정적용이 안되었거나 파일이 생성되지 않았다면 servicegroup/config/servers 디렉토리를 rm -rf로 지워준다.
PO ProStudio 장애 1. genSrc가 안생기는 경우 1) project clean을 한다. 2) package explorer에서 해당 프로젝트만 새로고침 한다. 3) 라이브러리 파일 없는 경우 - 라이브러리를 추가한다. 4) 이유를 모르는 경우 - workspace/.metadata/.lock 파일 지우고 다시 clean해본다. 2. PO 스튜디오 로그에서 fetch remote configuration에서 행걸리면서 아래 화면에서 멈추는 버그 192.168.158.17로 add nature하고 dto파일 열때 fetch remote configuration에서 행걸리면서 아래 화면에서 멈추는 버그가 있는데 load configuration 먼저 하시면 해결되는것 같습니다.
PO 부팅 오류 1. PO 부팅로그에서 에러로그로 - JNDI exception && PO_SCHEDULE 스키마 못찾을때 ims# 249559 관련하여jms 설정 해제 가이드대로 수행 1) domain.xml 수정 teespace_po 이미지 기준,/home/tmax/jeus8/domains/domain1/config/domain.xml 파일 수정 1-1) jms listener 제거 jms 리스너 주석처리 혹은 제거해주세요 1-2) jms-engine 제거 jms-engine 태그 부분 주석 처리 혹은 제거해주세요. 1-3) jms-resource 제거 jms-resource 태그 부분 주석처리 혹은 제거해주세요. 2) application.xml 수정 /home/tmax/proobject7/system/config..
jeus 메모리 설정 클라우드 서버 버전에서 jvm 메모리 설정은 /home/tmax/jeus8/bin/cloudserver.properties 에서 수정한다. DAS 버전에서 jvm 메모리 설정은 /home/tmax/jeus8/bin/jeus.properties에서 수정한다. 이전 프로젝트 운영시 뭣도 모르고 클라우드 서버인데 아래 properties 파일 수정해서 메모리 부족 이슈가 있었다ㅜ 운영환경에서 6G 정도면 운영에서도 문제가 없다. 4G도 문제가 없어 보인다. jeusadmin -u jeus -p jeus 'st -m -server $hostname' 으로 현재 사용량 알 수 있다. 어느 버전인지 잘 모르겠다면 start.sh 찾아서 확인하면 된다. 기존 제우스에서는 DAS(Domain Admin Server)랑..
was에서 deploy한 최신 jar파일의 서비스를 찾지 못하는 경우 분명 서비스 경로에 배포했고, PVC도 마운트 잘 되어있는데 찾지 못하는 경우가 있다. log를 보면 정상적으로 해당하는 서비스그룹이 배포가 되어있다. 배포한 jar파일을 디컴파일해도 정상적으로 배포가 되어 있다. 이런 경우 내가 최신작업한 서비스에 대해 noSuchMethod에러가 뜰 가능성이 높다. 부팅할 때, 쿠버네티스 문제인지, jeus 문제인지 과거에 배포된 jar로 업로드 되는 케이스인걸로 예상된다. 명확하게 원인파악을 하진 못했다. 이런경우 `touch 최신jar 파일` 로 jar파일의 타임스탬프를 갱신해주면 정상적으로 배포가된다.
WebToB Compression 옵션 설정 {WebtoB}/config/http.m 1. 정적 리소스 설정 HTH_THREAD 절에서 HtmlsCompression = "content-type" 으로 입력하시면 됩니다. Wapl의 경우 html 파일은 전혀 문제가 되지 않고, js파일이 큰 용량을 차지하기 때문에 위와 같이 입력하시면 됩니다. HtmlsCompressionMinSize 라는 옵션을 통해, 특정 사이즈 이상일 경우에만 압축을 수행하도록 하는 옵션도 있으나, 용량이 큰 js 파일이 지금은 한 개 뿐이기 때문에 큰 의미는 없습니다. HtmlsCompressionMinSize 는 content-length 값을 기준으로 하게 됩니다. 2. 동적 리소스 설정 SERVER 절에, Jeus와 통신하는 서버절에 Compression = "con..