微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在java中返回一个Supplier<T>

如何解决在java中返回一个Supplier<T>

我正在查看resilience4j代码以了解它们如何实现装饰器,我可以看到供应商/消费者功能接口。我仍在尝试了解如何在编码时利用这些接口。我的问题是基于这种方法

static <T> supplier<Future<T>> decorateFuture(Bulkhead bulkhead,supplier<Future<T>> supplier) {
    return () -> {
        if (!bulkhead.tryAcquirePermission()) {
            final CompletableFuture<T> promise = new CompletableFuture<>();
            promise.completeExceptionally(BulkheadFullException.createBulkheadFullException(bulkhead));
            return promise;
        }
        try {
            return new BulkheadFuture<>(bulkhead,supplier.get());
        } catch (Throwable e) {
            bulkhead.onComplete();
            throw e;
        }
    };

有几个问题, 它是否因为定义为 lambda 而返回 supplier

这些装饰器是如何构造的,请谁能提供一个简单的例子,

 supplier<String> decoratedsupplier = Bulkhead
            .decoratesupplier(bulkhead,() -> "This can be any method which returns: 'Hello");

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。