/** * Triggers component activation when the future has completed. * @param result * @param error */ private void completed(F result, Throwable error) { if (error != null) { super.getComponentContext().getLogger().log(LogService.LOG_ERROR, "completable future failed", error); } else { // Will trigger component activation (if other dependencies are satisfied), and our invokeCallback method will then be called. m_component.handleEvent(this, EventType.ADDED, new Event(result)); } }
@Override public void start() { try { if (m_async) { if (m_exec != null) { m_future.whenCompleteAsync((result, error) -> completed(result, error), m_exec); } else { m_future.whenCompleteAsync((result, error) -> completed(result, error)); } } else { m_future.whenComplete((result, error) -> completed(result, error)); } } catch (Throwable error) { super.getComponentContext().getLogger().log(LogService.LOG_ERROR, "completable future failed", error); } super.start(); }
super.getComponentContext().getLogger().log(LogService.LOG_ERROR, "completable future failed", exc);