标签:return efi params 支持 comm ret isp aci tde
有两种情况,第一种是业务逻辑复杂,但不需要业务逻辑的结果,第二种是需要返回业务逻辑的处理结果
第一种比较简单,利用多线程处理业务逻辑,或者利用spring中@Asyn注解更简单,
使用@Asyn注解,要首先要配置开启异步注解
- @Configuration  
 - @EnableAsync
 - public class AsyncConfig {
 -  
 - }
 
- @Service
 - public class AsyncAction {
 -   
 -  @Async
 -     public void fun1() {
 -      try {
 -           Thread.sleep(10000);
 -         } catch (InterruptedException e) {
 -          // TODO Auto-generated catch block
 -             e.printStackTrace();
 -         }
 -        System.out.println("fun1");
 -     }
 - }
 
第二种需要返回业务逻辑情况则首先需要开启异步支持
- public class SpitterWebInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
 -    @Override
 -  protected void customizeRegistration(Dynamic registration) {
 -      registration.setAsyncSupported(true);
 -   }
 
或者在web.xml中开启
- <servlet>
 - <servlet-name>SpringMvc</servlet-name>
 - <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
 - <init-param>
 - <param-name>contextConfigLocation</param-name>
 - <param-value>...</param-value>
 - </init-param>
 - <load-on-startup>1</load-on-startup>
 - <async-supported>true</async-supported>
 - </servlet>
 
- @Configuration
 - @EnableWebMvc
 - @ComponentScan("spittr.web")
 - public class WebConfig extends WebMvcConfigurerAdapter {
 -   
 -  @Override
 -  public void configureAsyncSupport(AsyncSupportConfigurer configurer) {
 -        ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
 -         executor.setCorePoolSize(5);
 -        executor.setMaxPoolSize(10);
 -        executor.setQueueCapacity(50);
 -      executor.setThreadNamePrefix("abc-");
 -       executor.setKeepAliveSeconds(30);
 -       configurer.setTaskExecutor(executor);
 -        configurer.setDefaultTimeout(600);
 -  }
 
- @Configuration
 - @EnableWebMvc
 - @ComponentScan("spittr.web")
 - public class WebConfig extends WebMvcConfigurerAdapter {
 
- @RequestMapping(value = "/async")
 -     
 -     public @ResponseBody Callable<String> async() {
 
 return new Callable<String>() {
            @Override
            public String call() throws Exception {
                Thread.sleep(2000);
                return "Callable result";
            }
        }; }
标签:return efi params 支持 comm ret isp aci tde
原文地址:https://www.cnblogs.com/jpfss/p/9329410.html