Java 类org.springframework.web.servlet.mvc.method.annotation.DeferredResultMethodReturnValueHandler 实例源码

项目:grpc-java-contrib    文件:GuavaLFReturnValueHandler.java   
public GuavaLFReturnValueHandler install(RequestMappingHandlerAdapter requestMappingHandlerAdapter) {
    final List<HandlerMethodReturnValueHandler> originalHandlers = new ArrayList<>(
            requestMappingHandlerAdapter.getReturnValueHandlers());

    final int deferredPos = indexOfType(originalHandlers, DeferredResultMethodReturnValueHandler.class);
    // Add our handler directly after the deferred handler.
    originalHandlers.add(deferredPos + 1, this);

    requestMappingHandlerAdapter.setReturnValueHandlers(originalHandlers);

    return this;
}
项目:grpc-java-contrib    文件:GuavaLFReturnValueHandlerTest.java   
@Test
public void handlerIsAfterDeferredResultMethodReturnValueHandler() {
    List<HandlerMethodReturnValueHandler> handlers = requestMappingHandlerAdapter.getReturnValueHandlers();
    int lfHandlerIndex = indexOfType(handlers, GuavaLFReturnValueHandler.class);
    int drHandlerIndex = indexOfType(handlers, DeferredResultMethodReturnValueHandler.class);

    assertThat(lfHandlerIndex).isGreaterThan(drHandlerIndex);
}
项目:spring-boot-mvc-completablefuture    文件:WebMvcConfiguration.java   
@PostConstruct
public void init() {
  final List<HandlerMethodReturnValueHandler> originalHandlers = new ArrayList<>(
      requestMappingHandlerAdapter.getReturnValueHandlers());

  final int deferredPos = obtainValueHandlerPosition(originalHandlers, DeferredResultMethodReturnValueHandler.class);
  // Add our handler directly after the deferred handler.
  originalHandlers.add(deferredPos + 1, completableFutureReturnValueHandler());

  requestMappingHandlerAdapter.setReturnValueHandlers(originalHandlers);
}