Spring Webflux 코딩중 IgniteFuture를 CompleteFuture 객체로 변환해야하는 상황을 만났습니다.
인터넷 서핑을 하던 도중 GridGain 발표자료에서 객체 변환 방법을 설명하고 있어서 정리하였습니다.
static <V> CompletableFuture<V> toCompletableFuture(IgniteFuture<V> igniteFuture) {
CompletableFuture<V> future = new CompletableFuture<V>();
//igniteFuture 객체에 callback을 등록(listen)합니다.
igniteFuture.listen(
fut->{
try{
//callback 결과로 도출된 값을 얻습니다.
V res = fut.get();
//CompletableFuture에 도출된 값을 complete으로 넘겨줍니다.
future.complete(res);
}catch(Exception e){
//예외 발생시 completeExceptionally를 호출하여 예외발생을 등록합니다.
future.completeExceptionally(e);
}
}
);
return future;
}
'코딩공부 > 기타' 카테고리의 다른 글
Git 연습 사이트 소개 (+ 연습 사이트 명령어) (1) | 2024.02.06 |
---|---|
java.lang.UnsupportedClassVersionError 원인 및 해결 방법 (1) | 2023.12.09 |
>> /dev/null 2>&1 의미 (2) | 2023.12.06 |
kafka 실행 / topic 생성 / topic 조회 (2.2 버전 이상 / 미만 포함) (0) | 2023.11.24 |
Spring Tool Suite "Could not find tools.jar" 오류 해결법 (0) | 2021.05.05 |