사전 작업 DynamoDB 로컬 설치 : https://momobob.tistory.com/120 SpringBoot Project 생성 : https://momobob.tistory.com/118 Yaml 파일 DynamoDB 설정값 추가 cloud: aws: dynamodb: region: ap-northeast-2 endpoint-url : http://localhost:8000 accessKey: { access-key } secretKey: { secret-key } Config 파일 추가 @Configuration public class DynamoDBConfig { @Value("${cloud.aws.dynamodb.region}") String region; @Value("${cloud.a..
반응형
webflux
1. SpringBoot WebFlux 프로젝트 생성 Intellij에서 New Project > Spring Initializer 선택 (없으면 https://start.spring.io/ 에서 진행) Spring Reactive Web 선택 (필요한 라이브러리 선택) Controller 추가 @Slf4j @RestController @RequestMapping("/dontworking") public class DontWorkingRestController { @GetMapping("/getTestData") public Mono> getTestData() { return Mono.just(ResponseEntity.status(HttpStatus.OK).body("TEST DATA")); } } 실..
Error SpringBoot WebFlux 애플리케이션으로 대용량의 데이터를 전송할 경우 에러가 발생함. DataBufferLimitException Solution Spring WebFlux는 Request크기에 대한 제한은 없지만, 애플리케이션 메모리 문제 방지를 위해 메모리 버퍼를 제한함(default: 256KB) https://www.baeldung.com/spring-webflux-databufferlimitexception 설정을 통해 필요한 만큼 설정 가능 100MB으로 테스트 요청 시 정상동작 spring: codec: max-in-memory-size: 200MB Thank you!
Spring WebFlux에서 Flux를 subscribe하고 Flux 변수를 return할 경우 아래와 같이 경고가 발생함. Inspection Description을 보면 아래와 같음. Calling 'subscribe' in non-blocking context is not recommended Inspection info: Reports subscribe() calls in "reactive" methods. Methods returning a Publisher type (including Flux and Mono) should not call the subscribe() method directly because it can break the reactive call chain. Instead ..
[SpringBoot] Singleton bean creation not allowed while singletons of this factory are in destruction
Error SpringBoot에서 MongoDB테스트를 위해 MongoClient를 사용하여 JUnit 테스트로 코드를 실행 시 아래와 같은 에러 발생 Singleton bean creation not allowed while singletons of this factory are in destruction (Do not request a bean from a BeanFactory in a destroy method implementation!) Solution 찾아보니 Tomcat 인스턴스가 두 개 이상 있는지 확인, 자바버전업, 트렌젝션 문제.. 등등 다양한 해결 방법이 있었으나 실패.. 나의 경우 SpringBoot에서 ReactiveMongoTemplate를 사용하여 DB연결을 이용하였는데, 실행..
반응형