Spring的异步方法
2023-09-14 09:03:39 时间
先把longTimeMethod 封装到Spring的异步方法中,这个异步方法的返回值是Future的实例。这个方法一定要写在Spring管理的类中,注意注解@Async。
@Service
public class AsynchronousService{
@Async
public Future springAsynchronousMethod(){
Integer result = longTimeMethod();
return new AsyncResult(result);
}
}
其他类调用这个方法。这里注意,一定要其他的类,如果在同类中调用,是不生效的。
@Autowired
private AsynchronousService asynchronousService;
public void useAsynchronousMethod(){
Future future = asynchronousService.springAsynchronousMethod();
future.get(1000, TimeUnit.MILLISECONDS);
}
其实Spring只不过在原生的Future中进行了一次封装,我们最终获得的还是Future实例。
相关文章
- 简单介绍一下spring bean的生命周期_Spring bean的生命周期
- Spring MVC更多家族成员--国际化视图与LocalResolver---10
- 【SSM进阶之路】使用Spring SqlSessionTemplate API实现查询数据[通俗易懂]
- 详述 Spring MVC 框架中拦截器 Interceptor 的使用方法
- Spring | Bean自动装配详解
- Spring框架:第二章:IOC依赖注入及40个实验
- spring boot项目加入方法日志(客户端IP,请求时间,方法注解)
- 太牛了,百度这份开发手册几乎涵盖了Spring Cloud所有操作
- 【翻译】Reactor 第七篇 Spring WebFlux 怎么进行异常处理
- Spring Cloud组件
- Spring Boot中使用MongoDB数据库的方法
- 关于org.mybatis.spring.MyBatisSystemException:Parameter ‘userId’ not found. 错误调试详解编程语言
- Spring声明式事务配置管理方法(Spring中的四种声明式事务的配置)详解编程语言
- Spring开启方法异步执行详解编程语言
- Spring deleteAll方法:删除指定集合中的所有实体对象
- Spring get方法:获取指定ID编号的实体对象
- Spring update方法:更新指定的实体对象
- Spring queryForObject方法:查询的结果以对象类型返回
- 什么是 Spring?为什么学它?
- Spring中DAO被循环调用的时候数据不实时更新的解决方法