List of usage examples for org.springframework.util.concurrent ListenableFuture addCallback
void addCallback(SuccessCallback<? super T> successCallback, FailureCallback failureCallback);
From source file:org.eclipse.hawkbit.ui.rollout.rollout.DefineGroupsLayout.java
private void validateRemainingTargets() { resetRemainingTargetsError();//from w ww. j a v a 2s . c o m if (targetFilter == null) { return; } if (runningValidationsCounter.incrementAndGet() == 1) { final ListenableFuture<RolloutGroupsValidation> validateTargetsInGroups = rolloutManagement .validateTargetsInGroups(savedRolloutGroups, targetFilter, System.currentTimeMillis()); final UI ui = UI.getCurrent(); validateTargetsInGroups.addCallback(validation -> ui.access(() -> setGroupsValidation(validation)), throwable -> ui.access(() -> setGroupsValidation(null))); return; } runningValidationsCounter.incrementAndGet(); }
From source file:org.springframework.cloud.sleuth.instrument.async.issues.issue546.Issue546Tests.java
@RequestMapping(value = "/trace-async-rest-template") public void asyncTest(@RequestParam(required = false) boolean isSleep) throws InterruptedException { log.info("(/trace-async-rest-template) I got a request!"); final long traceId = tracer.getCurrentSpan().getTraceId(); ListenableFuture<ResponseEntity<HogeBean>> res = traceAsyncRestTemplate .getForEntity("http://localhost:" + port + "/bean", HogeBean.class); if (isSleep) { Thread.sleep(1000);/* www .ja v a 2 s . co m*/ } res.addCallback(success -> { then(Controller.this.tracer.getCurrentSpan()).hasTraceIdEqualTo(traceId); log.info("(/trace-async-rest-template) success"); then(Controller.this.tracer.getCurrentSpan()).hasTraceIdEqualTo(traceId); }, failure -> { then(Controller.this.tracer.getCurrentSpan()).hasTraceIdEqualTo(traceId); log.error("(/trace-async-rest-template) failure", failure); then(Controller.this.tracer.getCurrentSpan()).hasTraceIdEqualTo(traceId); }); }