En el proyecto, a menudo existe una demanda de llamadas asincrónicas.
configuración 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>
Agregar: verdadero
Spring xml agregar configuración:
<!-- 支持异步方法执行 -->
<task:executor id="myExecutor" pool-size="10" />
<task:annotation-driven executor="myExecutor"/>
Después de esa demostración:
@Service
@EnableAsync
public class DevicesEditLogService {
@Async
public void recordEditLog(Map<String, Object> param) {
}
}
Agregue @EnableAsync en la clase, @Async en el método,
Agregue @Service, otras clases pueden inyectar esta instancia y llamar a métodos de miembros
Nota: he aprendido que si el método modificado @Async y otros métodos que llaman a este método están en la misma clase, no surtirá efecto