List of usage examples for org.springframework.web.context.request.async DeferredResult isSetOrExpired
public final boolean isSetOrExpired()
From source file:com.sishuok.chapter3.web.controller.chat.MsgPublisher.java
public void logout(String username) { if (username == null) { return;//w w w . j ava 2 s .c o m } Queue<DeferredResult<String>> queue = usernameToDeferredResultMap.get(username); boolean isLogout = false; if (queue != null) { if (queue.size() == 0) { isLogout = true; } else { isLogout = true; Iterator<DeferredResult<String>> iter = queue.iterator(); while (iter.hasNext()) { DeferredResult<String> result = iter.next(); if (!result.isSetOrExpired()) { isLogout = false; break; } } } } if (isLogout) { StringBuilder data = new StringBuilder(); data.append("{"); data.append("\"type\" : \"logout\""); data.append(",\"username\" : \"" + username + "\""); data.append("}"); publish(null, username, data.toString()); usernameToDeferredResultMap.remove(username); } }
From source file:org.springframework.web.context.request.async.DeferredResultInterceptorChain.java
public void triggerAfterTimeout(NativeWebRequest request, DeferredResult<?> deferredResult) throws Exception { for (DeferredResultProcessingInterceptor interceptor : this.interceptors) { if (deferredResult.isSetOrExpired()) { return; }/*from w w w . j av a 2 s . c o m*/ if (!interceptor.handleTimeout(request, deferredResult)) { break; } } }
From source file:org.springframework.web.context.request.async.DeferredResultInterceptorChain.java
/** * @return true to continue error handling, or false to bypass any further * error handling//from ww w . ja va 2 s . co m */ public boolean triggerAfterError(NativeWebRequest request, DeferredResult<?> deferredResult, Throwable ex) throws Exception { for (DeferredResultProcessingInterceptor interceptor : this.interceptors) { if (deferredResult.isSetOrExpired()) { return false; } if (!interceptor.handleError(request, deferredResult, ex)) { return false; } } return true; }