SpringBoot (4) 썸네일형 리스트형 SpringBoot) ThreadPoolExecutor 기본 개념 ThreadPool 서버가 어플리케이션에서 발생하는 모든 요청에 대해 매번 쓰레드를 생성하면 스레드를 생성하는 과정과 다수의 스레드를 스케줄링하느라 CPU가 바빠져 메모리 사용량이 늘어난다. 이는 전체적인 시스템 성능 저하를 초래하고 자원이 고갈되어 메모리풀로 서버가 다운 될 수 있다. 그래서 쓰레드풀을 사용한다. 쓰레드풀은 쓰레드를 미리 만들어 두고 재사용하는 방식으로 일정 수의 작업을 동시에 처리하도록 한다. 이때 사용될 수 있는 쓰레드 개수를 제한해놓고 작업 큐에 들어오는 작업들을 하나씩 쓰레드에 할당한다. 그리고 쓰레드가 한 테스크를 끝내면 다음 대기 1순위 태스크가 그 쓰레드를 재사용하는 방식으로 쓰레드의 전체 개수에는 영향을 주지 않고 쓰레드를 운영하여 시스템 성능 저하를 방지한다. 자바는 스.. Spring Boot) properties 파일로 변수 주입받아 사용하기 (profile 활용) 환경 SpringBoot + Gradle 개발 서버에서 사용해야할 변수와 운영, 테스트, 배포에 사용해야할 변수가 다를 경우, jar 파일을 생성할 때마다 특정 변수들을 집적 수정해야 하는 번거로움을 덜기 위해 profile을 등록하여 각 경우마다 주입받는 properties 파일을 다르게 설정하였다. 스프링부트 프로젝트를 시작하면 /home/tp/tp-platform/src/main/resources 이 경로에 application.properties 가 생성되어 있다. 이 파일에서 포트 넘버, db 관련 설정을 할 수 있고, 사용자 지정 변수도 만들 수 있다. application.proeperties example spring.profiles.active=dev server.port=8080 spr.. Spring Boot) H2 데이터베이스 적재 문제 해결 / error creating bean with name 'datasourcescriptdatabaseinitializer' defined in class path resource [org/springframework/boot/autoconfigure/sql/init/datasourceinitializationconfiguration.class] /src/main/resource 폴더 하위에 schema.sql 파일 : 테이블 생성 sql 스크립트 작성 data.sql 파일 : 테이블에 데이터 insert 하는 스크립트 작성 spring.h2.console.enabled=true spring.h2.console.path=/h2-console spring.datasource.url=jdbc:h2:tp://localhost/(...) spring.datasource.username=username spring.datasource.password= spring.h2.console.settings.trace=false spring.h2.console.settings.web-allow-others=true spring.datasource.initializ.. Spring Boot) vscode에서 gradle로 jar 파일 빌드해서 실행시키기 vscode marketplace에서 gradle을 검색해서 다음과 같은 플러그인을 설치하면 왼쪽 사이드바에 코끼리 아이콘이 생깁니다. 코끼리 아이콘을 누르면 GRADLE 툴바가 왼쪽에 뜨는데 여기서 build/bootJar을 클릭하면 자동으로 빌드되어 프로젝트 파일 build/lib에 jar 파일이 생성됩니다. 생성된 jar 파일을 실행시킬 서버에 옮겨두고 (optional) jar 파일이 있는 폴더에서 터미널을 켜서 아래와 같은 명령어로 실행시키면 됩니다. java -jar 이전 1 다음