Java web spring异步方法实现步骤解析

在项目中,时常会有异步调用的需求

web.xml配置

<servlet>
  <description>spring mvc servlet</description>
  <servlet-name>springMvc</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  <init-param>
   <description>spring mvc 配置文件</description>
   <param-name>contextConfigLocation</param-name>
   <param-value>classpath:spring-mvc.xml</param-value>
  </init-param>
  <load-on-startup>1</load-on-startup>
  <async-supported>true</async-supported>
 </servlet>
 <servlet-mapping>
  <servlet-name>springMvc</servlet-name>
  <url-pattern>/</url-pattern>
 </servlet-mapping>

添加:true

spring xml添加配置:

  <!-- 支持异步方法执行 -->
  <task:executor id="myExecutor" pool-size="10" />
  <task:annotation-driven executor="myExecutor"/>

然后demo:

@Service
@EnableAsync
public class DevicesEditLogService {
  @Async
  public void recordEditLog(Map<String, Object> param) {
  }
}

类上添加@EnableAsync, 方法上添加@Async,

添加@Service, 其他类可以注入这个实例,并调用成员方法

注:有了解到,如果@Async修饰的方法和调用此方法的其他方法在同一个类中,不会生效

最新2020整理收集的一些高频面试题(都整理成文档),有很多干货,包含mysql,netty,spring,线程,spring cloud、jvm、源码、算法等详细讲解,也有详细的学习规划图,面试题整理等,需要获取这些内容的朋友请加Q君样:11604713672

猜你喜欢

转载自blog.csdn.net/weixin_51495453/article/details/113341078