List of usage examples for org.springframework.util.concurrent ListenableFutureCallback ListenableFutureCallback
ListenableFutureCallback
From source file:org.springframework.integration.stomp.AbstractStompSessionManager.java
@Override public void destroy() { if (this.stompSessionListenableFuture != null) { if (this.reconnectFuture != null) { this.reconnectFuture.cancel(false); this.reconnectFuture = null; }/* w w w . ja v a2s .com*/ this.stompSessionListenableFuture.addCallback(new ListenableFutureCallback<StompSession>() { @Override public void onFailure(Throwable ex) { AbstractStompSessionManager.this.connected = false; } @Override public void onSuccess(StompSession session) { session.disconnect(); AbstractStompSessionManager.this.connected = false; } }); this.stompSessionListenableFuture = null; } }
From source file:org.springframework.kafka.listener.KafkaMessageListenerContainer.java
@Override protected void doStop(final Runnable callback) { if (isRunning()) { this.listenerConsumerFuture.addCallback(new ListenableFutureCallback<Object>() { @Override//from www.jav a 2 s . c om public void onFailure(Throwable e) { KafkaMessageListenerContainer.this.logger.error("Error while stopping the container: ", e); if (callback != null) { callback.run(); } } @Override public void onSuccess(Object result) { if (KafkaMessageListenerContainer.this.logger.isDebugEnabled()) { KafkaMessageListenerContainer.this.logger .debug(KafkaMessageListenerContainer.this + " stopped normally"); } if (callback != null) { callback.run(); } } }); setRunning(false); this.listenerConsumer.consumer.wakeup(); } }
From source file:org.springframework.web.socket.sockjs.client.AbstractSockJsIntegrationTests.java
@Test public void infoRequestFailure() throws Exception { TestClientHandler handler = new TestClientHandler(); this.testFilter.sendErrorMap.put("/info", 500); CountDownLatch latch = new CountDownLatch(1); initSockJsClient(createWebSocketTransport()); this.sockJsClient.doHandshake(handler, this.baseUrl + "/echo") .addCallback(new ListenableFutureCallback<WebSocketSession>() { @Override/* www . j av a2 s .c o m*/ public void onSuccess(WebSocketSession result) { } @Override public void onFailure(Throwable ex) { latch.countDown(); } }); assertTrue(latch.await(5000, TimeUnit.MILLISECONDS)); }
From source file:org.springframework.web.socket.sockjs.client.WebSocketTransport.java
@Override public ListenableFuture<WebSocketSession> connect(TransportRequest request, WebSocketHandler handler) { final SettableListenableFuture<WebSocketSession> future = new SettableListenableFuture<>(); WebSocketClientSockJsSession session = new WebSocketClientSockJsSession(request, handler, future); handler = new ClientSockJsWebSocketHandler(session); request.addTimeoutTask(session.getTimeoutTask()); URI url = request.getTransportUrl(); WebSocketHttpHeaders headers = new WebSocketHttpHeaders(request.getHandshakeHeaders()); if (logger.isDebugEnabled()) { logger.debug("Starting WebSocket session on " + url); }// w w w. j a v a2 s. c o m this.webSocketClient.doHandshake(handler, headers, url) .addCallback(new ListenableFutureCallback<WebSocketSession>() { @Override public void onSuccess(@Nullable WebSocketSession webSocketSession) { // WebSocket session ready, SockJS Session not yet } @Override public void onFailure(Throwable ex) { future.setException(ex); } }); return future; }
From source file:org.springframework.yarn.container.DefaultContainerHandlersResultsProcessor.java
@Override public void process(List<Object> results) { for (Object result : results) { wrappedResults.add(new Result(result)); if (result instanceof ListenableFuture<?>) { activeListenables.incrementAndGet(); }/* www .j a v a 2s. c o m*/ } for (final Result wrappedResult : wrappedResults) { if (wrappedResult.result instanceof ListenableFuture<?>) { ((ListenableFuture<?>) wrappedResult.result).addCallback(new ListenableFutureCallback<Object>() { @Override public void onSuccess(Object result) { if (log.isDebugEnabled()) { log.info("onSuccess for " + wrappedResult + " with result=[" + result + "]"); } wrappedResult.setResult(result); activeListenables.decrementAndGet(); mayNotifyListener(); } @Override public void onFailure(Throwable t) { if (log.isDebugEnabled()) { log.info("onFailure for " + wrappedResult + " with throwable=[" + t + "]"); } runtimeException = new YarnSystemException("error", t); activeListenables.decrementAndGet(); mayNotifyListener(); } }); } } }