-
Spring MVC Stack - Tomcat Thread Pool 성능 테스트Spring 2023. 6. 9. 16:20
Spring MVC Stack을 사용하는 경우의 기본 WAS 인 TOMCAT 9의 설정 변경을 통해 WAS의 성능 검증 및 EKS POD Spec에 따른 적절한 설정 값을 찾기 위해 진행한 테스트 입니다. Spring Embedded Tomcat 9 - Default Config Info's max-thread: 생성할 수 있는 thread의 총 개수.default 200 min-spare: 항상 활성화 되어있는(idle) thread의 개수. default 10 max-connections : 수립가능한 connection의 총 개수. default 8192 accept-count: 작업큐의 사이즈(max-connections 이후에 추가로 받을 연결 수). default 100 connection-t..
-
Chrome cross origin iframe remove alert(), confirm(), and prompt issueJavaScript 2021. 7. 27. 15:34
현재 최신 크롬 버전(92.0.4515.107 이상) 부터 크롬에서 cross origin iframe 의 경우에 alert, confirm, prompt 를 지원하지 않게 되었고, iframe 내에서 alert, confirm, prompt를 호출할 경우 아래와 같은 오류 내용을 확인 할 수 있습니다. 오류 내용 : A different origin subframe tried to create a JavaScript dialog. This is no longer allowed and was blocked. See https://www.chromestatus.com/feature/5148698084376576 for more details.A different origin subframe tried to..
-
Spring MVC Stack - WebFlux/WebClient Logging with Reactor Context + MDCSpring 2021. 5. 21. 15:42
Reactor Context Reactor Context는 스트림을 따라 전달되는 인터페이스이며, Map과 유사하게 key/value store 구조이다. Runtime 단계에서 필요한 Context 정보에 엑세스 할 수 있도록 하는 것이다. 즉, 스트림에 Context를 제공할 수 있는 유일한 방법일 뿐만 아니라, 조립/구독 단계를 포함해 전체 런타임 동안 사용 할 수 있는 데이터를 동적으로 제공 전체 생명 주기 중에서 각 Subscriber에게 별도의 컨텍스트가 제공될 수 있는 유일한 단계는 '구독단계'이다 Reactor With MDC MDC 는 JAVA 로깅 프레임워크(logback, log4j 등) 에서 제공하는 로그 관련 라이브러리에서 여러 메타 정보를 넣을 수 있고 공유되는 Map으로 key..
-
Spring MVC Stack - Logging With AOP + MDCSpring 2021. 4. 14. 14:57
Spring Application 개발 간에 더 유의미한 로깅을 남기기 위한 AOP + MDC 를 활용 방법에 대하여 알려 드리겠습니다:D Spring MVC 를 사용하여 Application 개발을 진행하는 경우, Request/Response를 로깅하기 위해서 AOP 를 통해 공통된 Tracing ID를 설정하고 로그를 남기고 하나의 Context에 대하여 추적이 가능하도록 개발하며, 이를 통해 더 유의미한 로그를 남기고 있습니다. 그리고 Request/Response에 대한 로깅 뿐만 아니라 해당 Context 내의 로직 수행 시에 info, error 로그도 추적을 편하게 하기 위하여 Tracing ID를 로그에 같이 찍는 방법이 있습니다. 이를 조금더 편하게 하기 위하여, JAVA 로깅 프레임워..
-
Spring MVC Controller - Header(@RequestHeader) Validation 처리Spring 2020. 5. 22. 17:18
Spring MVC Controller에서 헤더 영역의 필드 값을 체크하기 위한 Validation 방법에 대하여 간단히 알려 드리려고 합니다. Controller 내에 다음과 같이 설정 해 주시면, 간단하게 Validation 처리가 가능합니다. Common 컨트롤러상단에 @Validated 추가필요. ( import org.springframework.validation.annotation.Validated ) import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.RestController; @RestController @Validated public class S..
-
Spring/Java - ModelMapper 사용시 Source Object null 케이스 처리 방법Spring 2020. 2. 13. 16:47
ModelMapper는 Entity DTO 간 객체 전환 및 매핑 반복작업 작업을 줄여주는 라이브러리다. 이를 간편하게 Spring에서 사용하려면 다음과 같이 ModelMapper를 bean으로 등록하고 필요한 부분에서 DI받아 사용하면 된다. # Bean 등록 - MatchingStrategies.STRICT : source와 target의 같은 타입+타입명 일때 변환 처리하는 옵션 ( 디테일 옵션 정보 : http://modelmapper.org/user-manual/configuration/#matching-strategies ) @Configuration public class ModelMapperConfig { @Bean public ModelMapper modelMapper() { ModelM..
-
Elasticsearch 커스텀 Config 설정하여 Docker Image 생성 및 Docker Hub Upload 방법ELK/Elasticsearch 2019. 5. 28. 18:04
ElasticSearch Docker 이미지를 OS, JDK 및 ElasticSearch의 사용자 Config 로 셋팅 하는 방법과 Docker Hub에 Public 하게 업로드 하는 방법입니다. ( 저는 ubuntu 장비에서 Docker 설치 후에 작업하였고, 다음 포스팅에서 해당 업로드된 도커 이미지를 Kubernetes의 StatefulSet 을 통해 Cluster 환경 구축하는 내용 업로드 예정이에요. ) #이미지 runtime 환경 ubuntu-18.04 jdk-8u191 elasticsearch-6.4.3 1. 작업 디렉토리 및 파일 셋팅 기본적으로 jdk와 elasticsearch 그리고 config는 미리 디렉토리에 옮겨 놓습니다. 2. 도커 파일 생성 Dockerfile 내에 아래와 같이..
-
[Node.js] PM2 Cluster 모드에서 Log4js logging 처리하기JavaScript/Node.js 2018. 12. 14. 15:22
Node에서 프로세스 관리 모듈인 PM2를 사용하여 cluster 환경 구성시에, Log4js logging 처리가 되지 않는 경우가 발생한다. 이경우 pm2-intercom 설치를 통하여 cluseter내의 instance들에게 broadcast하여 logging 처리가 가능하게 할 수 있습니다. #설정 0. pm2 설치>> npm install pm2 -g 1. pm2-intercom 설치>> pm2 install pm2-intercom 2. log4js config에 아래 2개 내용 추가>> pm2: true>> pm2InstanceVar: 'INSTANCE_ID' // Log4js Settingvar log4js = require('log4js');log4js.configure({ appender..