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>

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

具体参照:https://blog.csdn.net/ClementAD/article/details/47339519

posted @ 2019-12-10 13:05  护花使者  Views(623)  Comments(0Edit  收藏  举报