在项目中,时常会有异步调用的需求
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://zxbcw.cn/post/192659/
- 转载请注明:必须在正文中标注并保留原文链接
- QQ群: PHP高手阵营官方总群(344148542)
- QQ群: Yii2.0开发(304864863)