先把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实例。

转载于:https://www.cnblogs.com/austinspark-jessylu/p/11038701.html

Spring的异步方法相关推荐

  1. async spring 默认线程池_SpringBoot中Async异步方法和定时任务介绍

    1.功能说明 Spring提供了Async注解来实现方法的异步调用.即当调用Async标识的方法时,调用线程不会等待被调用方法执行完成即返回继续执行以下操作,而被调用的方法则会启动一个独立线程来执行此 ...

  2. 【转载】Spring @Async 源码解读。

    由于工作中经常需要使用到异步操作,一直在使用@Async, 今天抽空学习了一下它的执行原理,刚好看到一篇写的很棒的文章,这里转载过来做个记录,感谢原作者的无私奉献. 原文章链接地址:https://w ...

  3. @async注解_SpringBoot中Async异步方法和定时任务介绍

    1.功能说明 Spring提供了Async注解来实现方法的异步调用.即当调用Async标识的方法时,调用线程不会等待被调用方法执行完成即返回继续执行以下操作,而被调用的方法则会启动一个独立线程来执行此 ...

  4. Spring Data JPA 从入门到精通~查询结果的处理

    参数选择(Sort/Pageable)分页和排序 特定类型的参数,Pageable 并动态 Sort 地将分页和排序应用于查询 案例:在查询方法中使用 Pageable.Slice 和 Sort. P ...

  5. Spring Data JPA 原理与实战第二天 掌握Repoitory和DQM

    02 Spring Data Common 之 Repoitory 如何全面掌握? 通过上一课时,我们知道了 Spring Data 对整个数据操作做了很好的封装,其中 Spring Data Com ...

  6. java 异步方法_Java异步方法调用

    很多时候,我们需要调用一个耗时方法,但是我们并不需要等待它执行完,才继续后面的工作,阻塞在这里是一个非常浪费时间的事,那么我们有没有办法解决呢?有!让它异步执行! 首先我们先来看看不异步执行的方案,下 ...

  7. 过滤器、拦截器、监听器的区别与使用

    一.拦截器与过滤器的区别 过滤器 (Filter) 过滤器的配置比较简单,直接实现Filter 接口即可,也可以通过@WebFilter注解实现对特定URL拦截,看到Filter 接口中定义了三个方法 ...

  8. mfc 弹簧_弹簧和线程:异步

    mfc 弹簧 以前,我们开始使用spring和TaskExecutor ,因此我们对如何在spring应用程序中使用线程更加熟悉. 但是,使用任务执行程序可能比较麻烦,尤其是当我们需要执行简单的操作时 ...

  9. 呼叫我,或异步REST

    本文是使用Spring Boot + Java 8进行的异步REST应用程序工作的非常简单的示例.SpringBoot使Web应用程序的开发几乎非常容易,但是为了简化任务,我从Spring存储库中举了 ...

最新文章

  1. JSON Path表达式
  2. 【arduino】pro mini程序下载器接线方法,arduino pro mini 与nodemcu通信方案
  3. 【AI不惑境】网络深度对深度学习模型性能有什么影响?
  4. spring项目搭建-约束引入
  5. Java:重写equals()和hashCode() 1
  6. 【渝粤题库】国家开放大学2021春2625调剂学题目
  7. ZOJ.3551.Bloodsucker(期望DP)
  8. Android 日志工具包
  9. Android App加固原理与技术历程
  10. 电脑计算机配置应用程序兼容性,电脑怎么打开兼容模式怎么办
  11. FCM聚类算法(模糊C均值算法)
  12. 浓缩书应用 Blinkist - 令人惊艳的商业策略
  13. 20165219 2017-2018-2《Java程序设计》结对编程一 第一周总结
  14. Vue组件和Vue脚手架
  15. VeryCD的名言集锦
  16. ObjectARX简单自定义实体的实现
  17. DeepLab-v3简易思维导图
  18. 某机构Python之 Numpy-Pandas-Matplotlib 视频笔记
  19. 同创永益亮相“中国电子云·数聚未来峰会”,共助金融数字化转型
  20. 去掉U盘写保护 30D00:请使用特殊版本量产工具

热门文章

  1. java多个按钮监听,如何改成监听多个按钮啊用e.getsource()
  2. outlook 未安装信息服务器,Outlook Web Access 未初始化并且在客户端访问服务器上的应用程序日志中记录了事件 ID 64...
  3. matlab 平滑曲线连接_平滑轨迹插值方法之多项式插值(附代码)
  4. 【ruoyi若依】layer 重置大小/resize
  5. linux中,项目生成的文件的权限为-rw-r-----
  6. 一个命令kill所有符合条件的进程
  7. HTTP Request Content-Type:application/x-www-form-urlencoded、multipart/form-data、application/json
  8. java 铺地板问题_铺木地板的5大注意事项,我家接连踩坑接近“崩溃”,大家别再犯...
  9. envi与arcgis文件转换_ArcGIS、MapInfo、ENVI、MapGIS等矢量格式相互转换
  10. php绘图效率,对于PHP绘图技术的理解