Я несколько раз искал ответ на этот вопрос, но безрезультатно.
Мне нужен компонент Spring с некоторыми методами @Async, а некоторые нет. Как это:
@Component
public class MyComp {
@Autowired private OtherComp delegate;
@Async
void doAsyncAction() { delegate.doAction(); }
// non-Async
Object getData() { return delegate.getSomeData(); }
}
К сожалению, когда вызывается метод getData, делегат становится пустым.
Я могу создать обходной путь, который использует CompleteableFuture для возврата базового объекта, но это ненужные накладные расходы.
@Component
public class MyComp {
@Autowired private OtherComp delegate;
@Async
void doAsyncAction() { delegate.doAction(); }
@Async
CompleteableFuture<Object> getData() { return CompleteableFuture.completedFuture(delegate.getSomeData()); }
}
Кто-нибудь знает лучший обходной путь?
Спасибо,
Bryan