先把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. c语言hellowwo所占字节数,哪个懂C语言?帮忙做~个题,跪求
  2. Oracle全库导入表报错 ORA-39126
  3. html怎么在图片上添加文字_Image J基础操作:给图片添加文字和标注
  4. java 方法 示例_Java集合asLifoQueue()方法和示例
  5. Spring MVC DispatcherServlet改造为 CSE RestServlet 常见问题汇编
  6. iframe在ie和firefox中的高度兼容性问题解决
  7. Tomcat7基于Redis的Session共享
  8. Cadence PSpice 基于代码生成仿真模型
  9. 关于quartus ii 破解失败的问题
  10. 【Pygame小游戏】这款“打地鼠”小游戏要火了(来来来)
  11. css两选择器间隔符
  12. 谷歌tts使用粤语读出内容
  13. 学python后的感想_学习python的感想
  14. idea修改单行注释颜色
  15. HDR与4K:有什么区别?
  16. 市面上有哪些好用的供应商管理系统?
  17. 「你是砍柴的,人家是放羊的,你们聊一天,人家羊吃饱了,你的柴怎么办?」这段话可以解读成哪些含义?
  18. 易筋经韦驮劲十二势图及拳谱
  19. 可分离卷积(Separable convolution)详解
  20. qq内拉起支付宝h5支付功能

热门文章

  1. python怎么改界面颜色_Python的matplotlib绘图如何修改背景颜色的实现
  2. php satellite_object_to_string,php object如何转string
  3. dict是python语言的内置对象_Python内置了字典:dict的支持
  4. 位置传感器matlab,永磁同步电机无位置传感器控制matlab仿真【续贴二】
  5. [linux]ps结果计算行数
  6. 找不到匹配的key exchange算法_目标检测--匹配策略
  7. android listview headerview 分割线,【我的Android进阶之旅】如何去除ListView中Header View、Footer View中的分割线...
  8. java中的md5加密_java中的MD5加密
  9. python列表map函数_python中map函数怎么显示结果
  10. Elasticsearch Transient与Persistent的区别