개요 Spring Boot에서 특정 빈의 메써드에 지정된 @Scheduled는 특정 시간 또는 주기로 애플리케이션 로직이 실행될 수 있도록 해준다. @Scheduled에서 발생할 수 있는 주요 이슈로, 분산 시스템의 개념이 없기 때문에 애플리케이션을 n개의 멀티 노드에 배포하면 같은 스케쥴 작업이 n개 노드에서 동시에 실행된다는 단점이 있다. 어떤 상황에서는 특정 스케쥴 작업이 반드시 1개 노드에서만 실행되어야 하는 경우가 있는데, 이번 글에서 소개할 SchedLock 라이브러리를 이용하면 특정 작업 실행시 락을 생성하여 다른 인스턴스에서는 해당 작업의 실행을 무시하도록 설정할 수 있다. DynamoDB 테이블 생성 ShedLock은 락 정보를 저장할 테이블로 여러 저장소를 지원한다. 이번 글에서는 Dy..
개요 Spring Boot 기반 프로젝트에서 DynamoDB를 사용하기 위한 @DynamoDbBean 클래스를 작성하는 방법을 정리하였다. 사전 요구 지식 Spring Boot, DynamoDB 사용을 위한 @Configuration 클래스 작성하기 Spring Boot, DynamoDB 사용을 위한 @DynamoDbBean 클래스 작성하기 @Repository 빈 설계 예 import org.springframework.stereotype.Repository import software.amazon.awssdk.enhanced.dynamodb.DynamoDbEnhancedClient import software.amazon.awssdk.enhanced.dynamodb.DynamoDbTable impor..
개요 Spring Boot 기반 프로젝트에서 DynamoDB를 사용하기 위한 @DynamoDbBean 클래스를 작성하는 방법을 정리하였다. 사전 요구 지식 Spring Boot, DynamoDB 사용을 위한 @Configuration 클래스 작성하기 @DynamoDbBean 빈 설계 예 @DynamoDbBean 는 JPA의 @Entity와 동일한 역할을 수행하는 빈을 작성할 때 명시한다. 실제 DynamoDB의 물리 테이블을 맵핑하는 역할을 해준다. 따라서 실제 테이블에 설계된 Primary Key와 Secondary Index가 정확하게 반영되어야 한다. 아래는 환율과 국가 코드에 따른 일간 환율 정보를 저장하는 테이블에 맵핑되는 빈의 작성 예이다. import software.amazon.awssdk..
개요 Spring Boot 기반 프로젝트에서 DynamoDB를 사용하기 위한 @Configuration 클래스를 작성하는 방법을 정리하였다. 별도의 ODM 라이브러리를 쓰지 않고, AWS에서 권장하는 DynamoDB Enhanced Client 라이브러리를 사용하였다. build.gradle.kts 프로젝트의 /build.gradle.kts에 아래 내용을 추가한다. dependencies { implementation("software.amazon.awssdk:dynamodb-enhanced:2.17.101") } application.yml 프로젝트의 /src/main/resources/application.yml에 아래 내용을 추가한다. cloud: aws: credentials: access-key..
- Total
- Today
- Yesterday
- Docker
- bootstrap
- kotlin
- Kendo UI Web Grid
- Eclipse
- 로드바이크
- spring
- maven
- jpa
- 태그를 입력해 주세요.
- chrome
- graylog
- 평속
- JavaScript
- Tomcat
- java
- 로드 바이크
- Spring MVC 3
- JHipster
- node.js
- 알뜰폰
- Kendo UI
- jsp
- 자전거
- CentOS
- jstl
- Spring Boot
- 구동계
- MySQL
- DynamoDB
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |