반응형

Kubernetes 멀티 팟 배포에서 Spring Kafka를 사용하여 Kafka 컨테이너 수명주기를 처리하는 방법

Kubernetes 멀티 팟 배포에서 Spring Kafka를 사용하여 Kafka 컨테이너 수명주기를 처리하는 방법 1. 질문(문제점): Spring kafka 구현을 사용하고 있으며 REST API를 통해 kafka 소비자를 시작하고 중지해야합니다. 이를 위해 KafkaListenerEndpointRegistry endpointRegistry를 사용하고 있습니다. endpointRegistry.getListenerContainer ( "consumer1"). stop (); endpointRegistry.getListenerContainer ( "consumer1"). start (); 동일한 마이크로 서비스에 대해 여러 배포가있을 수 있도록 kubernetes 포드에 마이크로 서비스를 배포하고 있습니..

카테고리 없음 2021.02.21

RateLimiter는 특정 메소드에만 연결됩니다.

RateLimiter는 특정 메소드에만 연결됩니다. 1. 질문(문제점): 내 메서드에는 두 개의 API 호출이 필요하며 Spring Boot @Cacheable와 Resilience4j @RateLimiter( link to doc ) 로 장식되어 있습니다 . @Cacheable(value = "getProjectFile") @RateLimiter(name = "getProjectFile") public Optional getProjectFile(String projectName) { return getFileName(projectName).flatMap(this::getProjectFileFromFileName); } private Optional getFileName(String projectName..

카테고리 없음 2021.02.20

Gradle을 사용하여 다양한 명령에서 테스트를 준수하고 빌드합니다.

Gradle을 사용하여 다양한 명령에서 테스트를 준수하고 빌드합니다. 1. 질문(문제점): 단위 유지, 통합 승인 테스트 등을 위해 다른 디렉토리 접근 방식을 만들기 위해 POC를 시도하고 있습니다. 사람들이 main 및 test와 함께 폴더를 만드는 많은 블로그를 보았지만 제 의도는 분리가 아니라 아래에 통합하는 것입니다. 시험 자체 폴더에 있습니다. 이 접근 방식에 대한 귀하의 견해를 알고 싶습니다. 여기에 함정이 있는지 잘 모르겠습니다. 위의 시나리오에서는 단위 테스트, 통합 테스트 및 수락 테스트를 유지하기 위해 아래와 같이 스프링 부트 애플리케이션 의 테스트 폴더 아래에 세 개의 폴더를 만들었습니다 . 내 Gradle 구성은 다음과 같습니다. sourceSets { test { java { sr..

카테고리 없음 2021.02.20

외부 이벤트에 대한 구독 종료

외부 이벤트에 대한 구독 종료 1. 질문(문제점): 애플리케이션에서는 외부 HTTP 엔드 포인트에 긴 폴링을 사용합니다. 나는 Spring의 반응을 사용하여 이것을한다 WebClient. 애플리케이션이 중지 될 때 깔끔하게 종료하기 위해 (그리고 추악한 Netty 스택 추적을 방지하기 위해) Spring이 내 빈을 중지 할 때 호출 takeUntil()하는의 인스턴스와 함께 사용합니다 (I 구현 ).EmitterProcessoronNext()SmartLifecycle 모든 것이 다음과 같이 작동합니다. @Component @RequiredArgsConstructor @Slf4j public class LongPollingMessageReceiver implements SmartLifecycle { pri..

카테고리 없음 2021.02.20

Eclipse 용 Spring Tools 4 앱 실행에 대한 정보

Eclipse 용 Spring Tools 4 앱 실행에 대한 정보 1. 질문(문제점): 저는 Spring을 처음 접했고 몇 가지를 이해하려고 노력하고 있습니다. 봄 문서에서 봄 도구에 대해 읽고 그것을 시도해 볼 것을 생각했습니다. Eclipse Marketplace에서 Spring Tools 4.9.0을 설치하고이를 사용하여 튜토리얼 프로젝트를 가져 왔습니다 (File> New> Other> Import Spring Getting Started Context). Boot Dashboard로 앱을 실행하면 정상적으로 작동합니다. 앱이 주석을 실행할 때 일부 튜토리얼 비디오에서 봤는데 주석이 초록색이되었고 그 위로 마우스를 가져 가면 빈 ID 등과 같은 정보를 얻을 수 있습니다. 제 경우에는 그런 일이 발..

카테고리 없음 2021.02.20

스프링 보안과 함께 keycloak JWT 토큰을 사용할 때 403을 수정하는 방법

스프링 보안과 함께 keycloak JWT 토큰을 사용할 때 403을 수정하는 방법 1. 질문(문제점): 나는 구성한 Spring Boot와 함께 프로젝트를 Spring Security하고Keycloak Keycloak 서버 에서 토큰을 받고 있습니다. 앱에서 엔드 포인트를 호출 할 때 토큰과 함께 403 을 얻 습니다. 다음과 같은 코드 : @Configuration @EnableWebFluxSecurity @EnableReactiveMethodSecurity class SecurityConfig { @Bean fun reactiveJwtDecoder() = NimbusReactiveJwtDecoder { val claimsSet = it.jwtClaimsSet println(Gson().toJson(..

카테고리 없음 2021.02.20

Spring Boot에서 @Valid를 사용하여 객체의 유효성을 검사하는 방법은 무엇입니까?

Spring Boot에서 @Valid를 사용하여 객체의 유효성을 검사하는 방법은 무엇입니까? 1. 질문(문제점): 저는 Spring Boot 프로젝트에서 작업 중이며 개체의 일부 필드를 검증하려고합니다. 실제로 매개 변수를 허용하는 API가 있습니다. 다음 @Valid과 같이 API 선언에 사용할 수 있습니다 . @GetMapping(value="/...") Object myMethod(@RequestParam(value="name") @Size(min = 3) String name) 그러나 나는 거기에서 확인하고 싶지 않습니다. 값의 유효성을 검사하는 "필터"개체가 있으므로 다음과 같은 결과를 기대합니다. 컨트롤러 파일 @override public Object myMethod(String name){..

카테고리 없음 2021.02.20

Spring에서 CrudRepository를 통해 CRUD 작업을 수행하려면 어떻게해야합니까?

Spring에서 CrudRepository를 통해 CRUD 작업을 수행하려면 어떻게해야합니까? 1. 질문(문제점): PostgresSQL로 작업하고 있으며 다음 인터페이스가 있습니다. @Repository public interface ExampleRepository extends CrudRepository { } 그런 다음 콩을 얻으려고합니다. ExampleRepository repository = ctx.getBean(ExampleRepository.class); 물론 그렇게 할 수 없습니다. 구현이 없기 때문에 결국 NoSuchBeanDefinitionException: No qualifying bean of type 'ExampleRepository' 이것이 잘못된 접근 방식이라는 것을 알고 있지..

카테고리 없음 2021.02.20

Spring RestTemplate : 403 예외 (때때로)

Spring RestTemplate : 403 예외 (때때로) 1. 질문(문제점): API에 대한 RestTemplate 호출이 있습니다 (get). 이 호출은 GET 유형의 유일한 호출이며 프록시를 통과합니다. 때때로 일주일 동안 호출이 "sun.security.validator.ValidatorException"예외와 함께 403 Forbidden을 반환하는 것 같습니다 . Spring과 API 사이에 인증서가 있지만 인증서는 정상적으로 작동합니다 (애플리케이션은 하루 동안 수천 개의 "200 ok"를 반환합니다). 그러나 때때로이 호출 만 (POST 인 다른 호출이 아님) "403 Forbidden"을 리턴합니다. 우리는 다음을 수행했습니다. 프록시를 통해 컬로 Jmeter를 시작합니다 (모든 것이..

카테고리 없음 2021.02.20

http : // localhost / test를 사용하여 브라우저에서 호출 할 때 Spring Boot 코드가 작동하지 않음

http : // localhost / test를 사용하여 브라우저에서 호출 할 때 Spring Boot 코드가 작동하지 않음 1. 질문(문제점): 컨트롤러 클래스 : import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; @RestController public class HelloWorldController { //u..

카테고리 없음 2021.02.20
반응형