资讯专栏INFORMATION COLUMN

springboot ListenableFuture 异步回调

caikeal / 3014人阅读

摘要:定义模拟耗时操作调用失败调用成功调用执行顺序循环循环调用成功代码异步回调

定义ListenableFuture
public void getListenableFuture() {
        ListenableFutureTask task = new ListenableFutureTask(new Callable() {
            @Override
            public String call() throws Exception {
                Thread.sleep(5000); // 模拟耗时操作
                return "success";
            }
        });
        task.addCallback(new ListenableFutureCallback() {
            @Override
            public void onFailure(Throwable throwable) {
                System.out.println("调用失败");
            }

            @Override
            public void onSuccess(String s) {
                System.out.println("调用成功:" + s);
            }
        });
        Executors.newSingleThreadExecutor().submit(task);
    }
调用
    @GetMapping("test-listen-future")
    public void testListenableFuture() {
        for (int i = 0; i < 10; i++) {
            System.out.println("i = " + i);
        }
        asyncService.getListenableFuture();
        for (int j = 0; j < 10; j++) {
            System.out.println("j = " + j);
        }
    }
执行顺序

循环i

循环j

调用成功:success

代码:springboot ListenableFuture 异步回调

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/77586.html

相关文章

  • springboot 异步回调

    摘要:定义异步方法,使用来返回异步调用的结果开始做任务一完成任务一,当前线程,耗时毫秒任务一完成开始做任务二完成任务二,当前线程,耗时毫秒任务二完成开始做任务三完成任务三,当前线程,耗时毫秒任务三完成调用执行异步回调异步回调结束调用结果开 定义异步方法,使用Future来返回异步调用的结果 @Async public Future firstTask() throws Int...

    BingqiChen 评论0 收藏0
  • Spring MVC异步处理简介

    摘要:异步处理简介地址相关系列文章异步处理详解分析本文讲到的所有特性皆是基于的,不是基于的。用于异步返回结果,使用自己的,使用负责处理它。配置执行异步操作需要用到,这个可以在用方法来提供相关文档。 Spring MVC异步处理简介 Github地址 相关系列文章: Servlet 3.0 异步处理详解 Servlet 3.1 Async IO分析 本文讲到的所有特性皆是基于Servlet...

    Sike 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<