생성자 대신 정적 팩토리 메서드를 고려하라. 클라이언트가 클래스의 인스턴스를 얻는 전통적인 수단은 public 생성자입니다. 하지만 전통적인 수단 이외에 클래스는 생성자와 별도로 정적 팩토리 메서드를 제공할 수 있습니다. 위의 말은 크게 와닿지 않습니다. 조금 더 쉽게 표현을 해보자면 우리(?)는 지금까지 new 키워드를 사용하여 인스턴스를 생성하곤 했습니다. 이 방법 외에도 static 메서드를 사용하여 생성자를 생성하고 반환할 수 있습니다. 그래서 static 메서드를 이용해서 생성자를 생성하고 반환하면 뭐가 좋을까? 💡이름을 가질 수 있습니다. 아래 예제는 new 키워드를 사용하여 객체를 생성하고 있습니다. new 키워드를 사용하여 객체를 생성하고 있지만 어떤 용도로 객체 생성되어 사용되는지 코드로..
Spring에서 Transaction Propagation은 접파 옵션을 의미합니다. 전파 옵션이라는 것은 트랜잭션을 시작하거나 기존 트랜잭션에 참여하는 방법에 대해 결정하는 속성값이라고 생각하면 됩니다. 즉 트랜잭션의 흐름을 컨트롤하는 속성값입니다. @Transactional 전파 옵션의 종류 하나씩 차근차근 살펴보겠습니다. 👊 public enum Propagation { REQUIRED(TransactionDefinition.PROPAGATION_REQUIRED), SUPPORTS(TransactionDefinition.PROPAGATION_SUPPORTS), MANDATORY(TransactionDefinition.PROPAGATION_MANDATORY), REQUIRES_NEW(Transacti..
💡상황 ThreadPoolTaskExecutor를 사용하여 이용가능한 Thread의 숫자가 100개였지만 트레픽이 몰려 101개의 요청이 들어온 상황으로 가정하였습니다. ThreadPoolTaskExecutor 설정 setMaxPoolSize는 90으로 설정 setQueueCapacity는 10으로 설정 한번에 받을 수 있는 요청은 100으로 가정 @Configuration @EnableAsync public class AsyncConfig extends AsyncConfigurerSupport { @Override public Executor getAsyncExecutor() { ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); execu..
RabbitMQ란? RabbitMQ는 AMQP 프로토콜을 구현한 메세지 브로커입니다. 생산자에게 메시지를 생산하여 소비자에게 전달해주는 서비스로 시스템 간 메시지를 전달해주는 오픈소스 메시지 브로커 소프트웨어입니다. 기본적인 구조 Producer가 Exchange에게 메시지를 발행합니다. Exchange는 Binding 규칙을 사용해 메시지의 복사본을 Queue에 배포합니다. 실제 메시지를 큐에 넣는 대신 메시지에 대한 참조가 Queue에 추가됩니다. 메시지를 전달할 준비가 되면 이 참조를 사용해 클라이언트에게 전송합니다. 메시지가 여러 클라이언트에게 발행될 때 참조만을 저장해서 메모리를 적게 사용합니다. Broker는 subscribe하고 있는 Consumer에게 메시지를 전달하거나 요청시 Queue에..
- Total
- Today
- Yesterday
- pipeline architecture
- spring boot 엑셀 다운로드
- microkernel architecture
- spring boot redisson sorted set
- redis sorted set
- transactional outbox pattern
- spring boot poi excel download
- spring boot redisson 분산락 구현
- pipe and filter architecture
- 레이어드 아키텍처란
- JDK Dynamic Proxy와 CGLIB의 차이
- space based architecture
- 서비스 기반 아키텍처
- spring boot redisson destributed lock
- 트랜잭셔널 아웃박스 패턴 스프링 부트 예제
- 람다 표현식
- 트랜잭셔널 아웃박스 패턴 스프링부트
- spring boot redis 대기열 구현
- spring boot excel download oom
- service based architecture
- polling publisher spring boot
- @ControllerAdvice
- transactional outbox pattern spring boot
- 공간 기반 아키텍처
- spring boot excel download paging
- java ThreadLocal
- 자바 백엔드 개발자 추천 도서
- redis 대기열 구현
- redis sorted set으로 대기열 구현
- java userThread와 DaemonThread
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |