добрый день всем. У меня есть вопрос о том, как плохо установить CompletableFuture в сообщении от одного актера к другому и использовать get (), чтобы дождаться его завершения. у меня есть пример кода, который я считаю слишком сложным для использования на практике, но не могу найти подходящих аргументов для совета по его рефакторингу
код, который отправляет сообщения с будущим
private void onSomeSignal(SomeMsg smsg){
MessageToActor msg = new MessageToActor()
future = new CompletableFuture<>();
msg.setFuture(future);
actortRef.tell(msg, null);
response = future.get(2, TimeUnit.SECONDS);
/* do something with responce*/
}
кодом, который завершаетсяfuture (в другом актере)
private void onSomeSignal(MessageToActor msg){
response = responseService.getResponse();
msg.getFuture().complete(response);
}
здесь что-то не так, за исключением того, что future.get () блокирует операцию