Spring Boot
-
[Spring Boot] Spring Boot 2.x에서 Spring Boot 3.x으로 버전 변경Spring Boot/기타 2023. 9. 6. 09:14
1. Java 17로 업그레이드Spring Boot 3.x부터는 Java 17 이상 버전이 필요하므로 프로젝트의 JDK를 업그레이드하세요.build.gradlejava { sourceCompatibility = '17'}참고 : https://spring.io/blog/2022/05/24/preparing-for-spring-boot-3-0 2. Gradle 버전 업그레이드Gradle 7.x(7.5 이상) 또는 8.x 이상 버전이 필요하므로 프로젝트의 Gradle를 업그레이드하세요.gradle-wrapper.propertiesdistributionBase=GRADLE_USER_HOMEdistributionPath=wrapper/distsdistributionUrl=https\://services.g..
-
[Spring Boot] RedisJSON 연동Spring Boot/기타 2023. 7. 17. 22:16
RedisJSON 모듈은 Redis에 대한 JSON 지원을 제공하며, 다른 Redis 데이터 유형과 마찬가지로 Redis 데이터베이스에서 JSON 값을 저장, 업데이트 및 검색할 수 있습니다.RedisJSON : https://redis.io/docs/stack/json/ 1. Docker를 사용하여 Redis 설치Docker를 사용하여 Redis를 로컬에 설치하세요.docker run -d --name redis-stack -p 6379:6379 -p 8001:8001 redis/redis-stack:latest포트 6379는 Redis 연결, 포트 8001는 RedisInsight에 사용됩니다.Docker Hub : https://hub.docker.com/r/redis/redis-stack Redi..
-
[Spring Boot] RedisTemplate을 이용한 Redis Data Type 확인Spring Boot/기타 2023. 7. 2. 18:32
Redis Data TypesStrings : 단순한 텍스트나 이진 데이터를 저장하는데 사용되며, 각 키에 대해 하나의 값만 저장할 수 있습니다. Strings는 캐싱, 세션 관리, 카운팅 등에 사용됩니다.Lists : 순서가 있는 문자열의 목록을 저장하는데 사용되며, 한 키에 여러 값을 저장할 수 있으며, 값들은 순서대로 저장됩니다. Lists는 대기열, 로그, 최근 작업 목록 등에 사용됩니다.Sets : 중복되지 않는 값을 저장하는데 사용되며, 멤버 간의 순서가 없으며, 각 멤버는 유일합니다. Sets는 태그 처리, 중복 제거 등에 유용합니다.Hashes : 필드-값 쌍을 저장하는 데 사용되며, 각 키에 대해 여러 개의 필드와 해당 필드에 연결된 값들을 저장할 수 있습니다. Hashes는 필드의 추가..
-
[Spring Boot] ActiveMQ Queue, Topic 연동Spring Boot/기타 2023. 7. 2. 18:14
ActiveMQ란?Apache Software Foundation에서 개발된 오픈 소스 메시지 브로커(Message Broker)로 메시징 시스템에서 메시지를 중개하고 전달하는 역할을 담당합니다.Java로 작성되었으며, Java Message Service (JMS)를 지원하여 다양한 애플리케이션 간에 비동기적인 통신을 가능하게 합니다.큐(Queue)와 토픽(Topic)이라는 두 가지 메시지 전달 방식을 지원하며, 큐(Queue) 방식은 메시지를 수신 대기 중인 클라이언트 중 하나에게 전달하고, 토픽(Topic) 방식은 메시지를 여러 구독자에게 전달하는 방식입니다. ActiveMQ : https://activemq.apache.orghttps://activemq.apache.org 1. Docker를 ..
-
[Spring Boot] STOMP 사용 시 Interceptor 및 errorHandling 적용Spring Boot/기타 2023. 6. 24. 17:49
STOMP 사용 시 Interceptor 및 errorHandling 적용WebSocketConfig.java 수정setErrorHandler() 메서드는 StompEndpointRegistry 클래스에서 제공되는 메서드로, STOMP 엔드포인트 등록 중에 발생하는 오류 처리를 설정하는데 사용할 수 있습니다.configureClientInboundChannel() 메서드는 WebSocketMessageBrokerConfigurer 인터페이스에서 제공되는 메서드로, 클라이언트로부터 수신한 STOMP 메시지를 처리하기 위한 클라이언트 인바운드 채널을 구성하는데 사용할 수 있습니다.package com.example.activemq.config;import com.example.activemq.common...
-
[Spring Boot] ActiveMQ + STOMP 연동Spring Boot/기타 2023. 6. 17. 09:14
ActiveMQ란?Apache Software Foundation에서 개발된 오픈 소스 메시지 브로커(Message Broker)로 메시징 시스템에서 메시지를 중개하고 전달하는 역할을 담당합니다.Java로 작성되었으며, Java Message Service (JMS)를 지원하여 다양한 애플리케이션 간에 비동기적인 통신을 가능하게 합니다.큐(Queue)와 토픽(Topic)이라는 두 가지 메시지 전달 방식을 지원하며, 큐(Queue) 방식은 메시지를 수신 대기 중인 클라이언트 중 하나에게 전달하고, 토픽(Topic) 방식은 메시지를 여러 구독자에게 전달하는 방식입니다. ActiveMQ : https://activemq.apache.orgSTOMP란?Apache Software Foundation에서 개발된..
-
[Spring Boot] ActiveMQ 연동하기Spring Boot/기타 2023. 6. 11. 11:04
ActiveMQ란?Apache Software Foundation에서 개발된 오픈 소스 메시지 브로커(Message Broker)로 메시징 시스템에서 메시지를 중개하고 전달하는 역할을 담당합니다.Java로 작성되었으며, Java Message Service (JMS)를 지원하여 다양한 애플리케이션 간에 비동기적인 통신을 가능하게 합니다.큐(Queue)와 토픽(Topic)이라는 두 가지 메시지 전달 방식을 지원하며, 큐(Queue) 방식은 메시지를 수신 대기 중인 클라이언트 중 하나에게 전달하고, 토픽(Topic) 방식은 메시지를 여러 구독자에게 전달하는 방식입니다. ActiveMQ : https://activemq.apache.org 1. Docker를 사용하여 ActiveMQ 설치Docker를 사용하..
-
[Spring Boot] RabbitMQ 연동하기Spring Boot/기타 2023. 6. 4. 18:27
RabbitMQ는 메시지를 생산하는 생산자(Producer)가 메시지를 큐(Queue)에 저장해 두면, 메시지를 수신하는 소비자(Consumer)가 메시지를 가져와 처리하는 Publish/Subscribe 방식의 메시지 전달 브로커입니다.RabbitMQ : https://www.rabbitmq.com 1. Docker를 사용하여 RabbitMQ 설치Docker를 사용하여 RabbitMQ를 로컬에 설치하세요.docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 --restart=unless-stopped rabbitmq:management포트 5672는 RabbitMQ 클라이언트 연결에 사용되고, 포트 15672는 RabbitMQ 웹 관리 콘솔에 사용됩니다..
-
[Spring Boot] Amazon S3로 파일 업로드 및 삭제Spring Boot/기타 2023. 1. 27. 17:34
Amazon Simple Storage Service(Amazon S3) S3란?확장성, 데이터 가용성, 보안 및 성능을 제공하는 객체 스토리지 서비스 참조 - https://docs.aws.amazon.com/ko_kr/AmazonS3/latest/userguide/Welcome.htmlAmazon S3 설정1. 의존성 추가 Amazon S3를 사용하기 위해 spring-cloud-starter-aws 의존성을 추가하세요.build.gradleplugins { id 'java' id 'org.springframework.boot' version '2.7.7' id 'io.spring.dependency-management' version '1.0.15.RELEASE'}group = 'c..
-
[Spring boot] Replication Database 환경에서 Master/Slave DataSource 구성하기Spring Boot/기타 2023. 1. 17. 23:25
목차 1. Replication이란 무엇인가?Replication(복제)은 데이터베이스의 Master/Slave 구조를 설정하여 데이터를 효과적으로 관리하고, 시스템 부하를 분산하기 위한 기술입니다.Master는 데이터의 원본 저장소로, 쓰기 작업(Insert, Update, Delete)을 처리합니다.Slave는 Master 데이터를 복제한 사본 저장소로, 읽기 작업(Select)을 처리합니다.이러한 구조를 통해 쓰기와 읽기 작업을 분리하여 시스템 성능을 최적화하고 확장성을 높일 수 있습니다. 특히, 대량의 읽기 요청이 발생하는 대규모 시스템에서 효과적입니다. 2. Spring Boot에서의 Replication DataSource 구성Spring에서 @Transactional을 활용하여 Databas..