运维开发网

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

运维开发网 https://www.qedev.com 2020-12-27 06:10 出处:网络 作者: 护花使者
在项目中,时常会有异步调用的需求 web.xml配置 <servlet> <description>spring mvc servlet</description>

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

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>

添加:<async-supported>true</async-supported>

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修饰的方法和调用此方法的其他方法在同一个类中,不会生效

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

0

精彩评论

暂无评论...
验证码 换一张
取 消