나는 방법
@Service
public class MyService {
public Mono<Integer> processData() {
... // very long reactive operation
}
}
일반 프로그램에서류,내가 이 메소드를 호출을 통해 비동기적으로는 카프카의 이벤트입니다.
테스트를 위해 필요가 노출 방법으로 웹 서비스,그러나 방법에 노출되어야으로 비동기:만 반환 HTTP 코드 200OK(요청"accepted")그리고 계속 데이터 처리에서 배경입니다.
그것은 확인(=지 않는 그것을 원하지 않는 부작용)전화하기 Mono#subscribe()
고에서 반환 컨트롤러 방법이 있나요?
@RestController
@RequiredArgsConstructor
public class MyController {
private final MyService service;
@GetMapping
public void processData() {
service.processData()
.subscribeOn(Schedulers.boundedElastic())
.subscribe();
}
}
또 그것을 다음과 같이(여기에 내가 혼동해서 경고 IntelliJ,어쩌면으로 동일 https://youtrack.jetbrains.com/issue/IDEA-276018 ?):
public Mono<Void> processData() {
service.processData()
.subscribeOn(Schedulers.boundedElastic())
.subscribe(); // IntelliJ complains "Inappropriate 'subscribe' call" but I think it's a false alarm in my case(?)
return Mono.empty();
}
또는 다른 솔루션인가?