Spring Boot/기타
-
[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] Database가 Replication일 때 DataSource 설정Spring Boot/기타 2023. 1. 17. 23:25
1. Replication 란?Master/Slave 관계를 설정하고 데이터 원본은 Master, 데이터 사본은 Slave에 저장한 후 Master에서는 Write(Insert, Update, Delete) 작업을 Slave에서는 Read(Select) 작업을 처리하여 부하를 분산시키는 기술입니다.2. DataSource 설정@Transactional(readOnly = true | false) 을 통해 Database Replication일 때 DataSource를 설정할 수 있습니다. @Transactional(readOnly = false) 일 때는 Master DB에서 처리 @Transactional(readOnly = true) 일 때는 Slavee DB에서 처리 application.ymlsp..
-
[Spring Boot] Spring Data JPA + QueryDSL 설정Spring Boot/기타 2023. 1. 15. 11:35
QueryDSL 이란?쿼리를 문자가 아닌 코드로 작성해도, 쉽고 간결하며 그 모양도 쿼리와 비슷하게 개발 할 수 있는 프로젝트가 바로 QueryDSL입니다. QueryDSL도 Criteria처럼 JPQL 빌더 역할을 하는데 JPA Criteria를 대체할 수 있습니다.QueryDSL은 오픈소스 프로젝트이며, 처음에는 HQL(Hibernate Query Language)을 코드로 작성할 수 있도록 해주는 프로젝트로 시작해서 지금 JPA, JDO, JDBC, Lucene, Hibernate Search, MongoDB, Collections 및 RDFBean을 지원합니다. 참고 - http://querydsl.com/static/querydsl/4.4.0/reference/html_single/ Query..
-
[Spring Boot] 유효성 검사 처리 (Custom Validation)Spring Boot/기타 2022. 6. 6. 18:46
1. DateValid 구현DateValid.javapackage com.example.customvalidation.annotiaon;import com.example.customvalidation.validator.DateValidator;import java.lang.annotation.Documented;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;import javax.validation.Constraint;import javax.validation.Payload..