반응형

전체 글 145

@Async 사용 시 주의사항과 ThreadPool 설정

@Async란?Spring Framework에서 제공하는 비동기 처리 어노테이션메서드 실행을 별도 스레드에서 처리하여 메인 스레드를 블로킹하지 않음@Async 사용 조건1. @EnableAsync 설정 필수@Configuration@EnableAsyncpublic class AsyncConfig { // 설정 내용}2. public 메서드에만 적용 가능// ✅ 올바른 사용@Asyncpublic CompletableFuture asyncMethod() { return CompletableFuture.completedFuture("결과");}// ❌ 동작하지 않음@Asyncprivate void privateMethod() { }3. 같은 클래스 내부 호출 시 동작하지 않음// ❌ 비동기로 동작하..

Spring Boot Profile별 설정 관리 베스트 프랙티스

Profile 기본 개념Spring Boot의 환경별 설정 분리 메커니즘dev, staging, prod 환경마다 다른 DB 연결정보, 로깅레벨 등 관리@Profile 어노테이션으로 특정 환경에서만 Bean 등록 가능설정 파일 명명규칙application.yml (공통 설정)application-dev.yml (개발환경)application-staging.yml (스테이징환경) application-prod.yml (운영환경)Profile 활성화 방법들spring.profiles.active=dev (application.yml)java -jar app.jar --spring.profiles.active=prodSPRING_PROFILES_ACTIVE=prod (환경변수)IDE 실행 시 VM optio..

Java 2025.08.07

Java 개발자를 위한 장애 대응 가이드 메모

1. 소스코드 관련 장애 분석분류 세부 항목 확인 방법 도구/명령어 주요 체크포인트로그 분석Exception Stack Trace로그 파일 또는 콘솔 확인tail -f, grep, ELK Stack- 에러 발생 위치 정확한 라인- 호출 스택 순서- 루트 원인 추적 에러 로그 패턴 분석시간대별 에러 빈도 확인awk, sed, Splunk- 특정 시간대 집중 여부- 반복 패턴 존재- 사용자별/기능별 분포 비즈니스 로그 추적트랜잭션 ID 기반 추적MDC, 로그 상관관계 도구- 요청-응답 전체 흐름- 중간 단계별 처리 시간- 데이터 변환 과정성능 모니터링JVM 메모리 사용량힙/non-힙 메모리 상태jstat, jvisualvm, JProfiler- OutOfMemoryError 징후- 메모리 리크 패턴- Ede..

코딩:개발일지 2025.08.05

Spring @Transactional 쉽게 정리하기

@Transactional이 언제 롤백될까?기본 규칙RuntimeException 발생 시 → 롤백됨 (0)Error 발생 시 → 롤백됨 (0)CheckedException 발생 시 → 롤백 안됨 (X)@Transactionalpublic void test() { // 이건 롤백됨 throw new RuntimeException("에러"); // 이건 롤백 안됨 throw new Exception("체크드 예외");}롤백 규칙 바꾸기// 모든 예외에 롤백하고 싶다면@Transactional(rollbackFor = Exception.class)// 특정 예외는 롤백하지 않으려면 @Transactional(noRollbackFor = IllegalArgumentExcepti..

Java 2025.07.29

IntelliJ에서 Spring Boot VM Options 설정하기

스프링부트 개발하면서 IntelliJ에서 VM Options 설정하는 방법을 정리했다.VM Options란?JVM(Java Virtual Machine)에 전달되는 시스템 프로퍼티나 환경변수를 설정하는 방법이다.쉽게 말해서 코드에 박기 곤란한 설정값들을 실행할 때 주입해주는 거다.IntelliJ에서 VM Options 설정하는 방법1. Run Configuration 열기상단 메뉴바에서 Run > Edit Configurations 클릭또는 실행 버튼 옆 드롭다운에서 Edit Configurations 선택2. 실행옵션추가 -> VM Options 입력VM Options 필드에 -D 옵션으로 시작하는 프로퍼티들을 입력각 옵션은 줄바꿈 또는 공백으로 구분3. 설정 예시와 용도AWS SES 설정 (이메일 발..

코딩:개발일지 2025.07.22
728x90
반응형