springboot
-
[Spring Boot] Redisson을 활용하여 분산 락 적용Spring Boot/기타 2025. 5. 18. 20:28
목차 1. Redisson이란?Redisson은 Redis 기반의 Java 클라이언트 라이브러리로, 분산 데이터 구조, 분산 락, 메시징 큐, 캐시 등을 간편하게 구현할 수 있도록 지원합니다. 특히 Spring Boot와 같은 프레임워크와의 통합이 용이하며, 동시성 제어나 데이터 공유에 강력한 기능을 제공합니다.Redisson의 주요 특징분산 데이터 구조: Redis의 다양한 데이터 타입(String, List, Set, Map 등)을 Java 객체처럼 다룰 수 있습니다.분산 락: 여러 인스턴스가 경쟁하는 환경에서 안전하게 동시성 문제를 해결할 수 있습니다.Pub/Sub: 이벤트 기반 메시징 큐 구현 가능.Spring 지원: Spring Data Redis와 호환되며, Spring Boot Starter..
-
[Spring Boot] Jedis를 활용하여 Redis에 JSON Path 기능을 테스트Spring Boot/기타 2024. 12. 11. 23:00
목차 Jedis 라이브러리를 사용하여 Redis에 JSON Path 기능을 활용하는 방법을 설명하겠습니다. 1. JSONPath & Redis JSON 개요JSONPath는 JSON 문서에서 데이터를 검색하거나 필터링할 때 유용한 쿼리 언어입니다. Redis는 JSON 데이터 타입을 직접 지원하며, JSONPath를 통해 데이터를 효과적으로 쿼리할 수 있습니다. JSONPath 주요 표현식 방식 표현식 예제 및 설명 전체 매칭 $JSON 문서의 루트 노드를 선택합니다. 예: $ 경로 접근 .특정 속성을 선택합니다. 예: $.store.book 배열 처리 [index] 또는 [*]배열 처리 [index] 또는 [*] 배열 인덱스로 접근하거나 배열의 모든 요소를 처리합니다. 예: $.store.boo..
-
[Spring Boot] Jedis를 활용하여 Redis에 대한 CRUD 작업을 테스트Spring Boot/기타 2024. 12. 11. 20:00
목차 Jedis를 활용하여 Redis에 대한 CRUD 작업을 수행하는 방법을 설명하겠습니다.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와 같은 GUI 도구와의 연결참고Docker Hub - redis/redis-stack2. 의존성 추가build.gradle 파일에 Redis 및 Jedis와의 연동에 필요한 의존성을 추가합니다. build.gradledependencies { // Redis imple..
-
[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] MockMvc 사용 시 한글이 깨지는 현상Spring Boot/기타 2021. 8. 29. 16:33
[원인] Spring Boot 2.2.0.RELEASE 부터 MediaType.APPLICATION_JSON_UTF8 Deprecated 되어 Content-Type: application/json;charset=UTF-8 요청에 대해 Content-Type: application/json 으로 응답하여 한글이 깨지는 현상이 발생합니다. [해결 방법] MockMvc 빌드 시 CharacterEncodingFilter 추가 @Autowiredprivate MockMvc mockMvc;@Autowiredprivate WebApplicationContext ctx;// JUnit5(@BeforeEach), JUnit4(@Before)@BeforeEachpublic void setup() { this.mockM..