177177
1781782\) 如果不能修改使用` CompletableFuture ` 的代码(如在外部库中返回的` CF ` )
179179
180- 使用[ ` CffuFactory.toCffu(CompletionStage) ` 方法] ( https://foldright.io/api-docs/cffu/1.1.9 /io/foldright/cffu/CffuFactory.html#toCffu(java.util.concurrent.CompletionStage) ) ,将` CompletableFuture ` 或` CompletionStage ` 转换成` Cffu ` 类型。
180+ 使用[ ` CffuFactory.toCffu(CompletionStage) ` 方法] ( https://foldright.io/api-docs/cffu/1.1.10 /io/foldright/cffu/CffuFactory.html#toCffu(java.util.concurrent.CompletionStage) ) ,将` CompletableFuture ` 或` CompletionStage ` 转换成` Cffu ` 类型。
181181
182182### 1.3 库依赖(包含` CompletableFutureUtils ` 工具类)
183183
187187 <dependency >
188188 <groupId >io.foldright</groupId >
189189 <artifactId >cffu</artifactId >
190- <version >1.1.9 </version >
190+ <version >1.1.10 </version >
191191 </dependency >
192192 ```
193193- For ` Gradle ` projects:
194194
195195 Gradle Kotlin DSL
196196 ``` groovy
197- implementation("io.foldright:cffu:1.1.9 ")
197+ implementation("io.foldright:cffu:1.1.10 ")
198198 ```
199199 Gradle Groovy DSL
200200 ``` groovy
201- implementation 'io.foldright:cffu:1.1.9 '
201+ implementation 'io.foldright:cffu:1.1.10 '
202202 ```
203203
204204> ` cffu ` 也支持` Kotlin ` 扩展方法的使用方式,参见[ ` cffu-kotlin/README.md ` ] ( cffu-kotlin/README.md ) ;使用方式的对比示例参见[ ` docs/usage-mode-demo.md ` ] ( docs/usage-mode-demo.md ) 。
@@ -592,7 +592,7 @@ public class MultipleActionsDemo {
592592
593593应该只处理当前业务自己清楚明确能恢复的具体异常,由外层处理其它的异常;避免掩盖Bug或是错误地处理了自己不能恢复的异常。
594594
595- ` cffu ` 提供了相应的[ ` catching* ` 方法] ( https://foldright.io/api-docs/cffu/1.1.9 /io/foldright/cffu/CompletableFutureUtils.html#catching(F,java.lang.Class,java.util.function.Function) ) ,支持指定要处理异常类型;相比` CF#exceptionally ` 方法新加了一个异常类型参数,使用方式类似,不附代码示例。
595+ ` cffu ` 提供了相应的[ ` catching* ` 方法] ( https://foldright.io/api-docs/cffu/1.1.10 /io/foldright/cffu/CompletableFutureUtils.html#catching(F,java.lang.Class,java.util.function.Function) ) ,支持指定要处理异常类型;相比` CF#exceptionally ` 方法新加了一个异常类型参数,使用方式类似,不附代码示例。
596596
597597### 2.6 ` Backport ` 支持` Java 8 `
598598
@@ -619,18 +619,18 @@ public class MultipleActionsDemo {
619619
620620` cffu ` 库提供了超时执行安全的新实现方法:
621621
622- - [ ` Cffu#orTimeout() ` ] ( https://foldright.io/api-docs/cffu/1.1.9 /io/foldright/cffu/Cffu.html#orTimeout(long,java.util.concurrent.TimeUnit) )
623- / [ ` Cffu#completeOnTimeoutTimeout() ` ] ( https://foldright.io/api-docs/cffu/1.1.9 /io/foldright/cffu/Cffu.html#completeOnTimeout(java.lang.Object,long,java.util.concurrent.TimeUnit) )
624- - [ ` CFU#cffuOrTimeout() ` ] ( https://foldright.io/api-docs/cffu/1.1.9 /io/foldright/cffu/CompletableFutureUtils.html#cffuOrTimeout(F,long,java.util.concurrent.TimeUnit) )
625- / [ ` CFU#cffuCompleteOnTimeout() ` ] ( https://foldright.io/api-docs/cffu/1.1.9 /io/foldright/cffu/CompletableFutureUtils.html#cffuCompleteOnTimeout(F,T,long,java.util.concurrent.TimeUnit) )
622+ - [ ` Cffu#orTimeout() ` ] ( https://foldright.io/api-docs/cffu/1.1.10 /io/foldright/cffu/Cffu.html#orTimeout(long,java.util.concurrent.TimeUnit) )
623+ / [ ` Cffu#completeOnTimeoutTimeout() ` ] ( https://foldright.io/api-docs/cffu/1.1.10 /io/foldright/cffu/Cffu.html#completeOnTimeout(java.lang.Object,long,java.util.concurrent.TimeUnit) )
624+ - [ ` CFU#cffuOrTimeout() ` ] ( https://foldright.io/api-docs/cffu/1.1.10 /io/foldright/cffu/CompletableFutureUtils.html#cffuOrTimeout(F,long,java.util.concurrent.TimeUnit) )
625+ / [ ` CFU#cffuCompleteOnTimeout() ` ] ( https://foldright.io/api-docs/cffu/1.1.10 /io/foldright/cffu/CompletableFutureUtils.html#cffuCompleteOnTimeout(F,T,long,java.util.concurrent.TimeUnit) )
626626
627627保证业务逻辑不会在` CF ` 的单线程` ScheduledThreadPoolExecutor ` 中执行。
628628
629629更多说明参见:
630630
631631- 演示问题的[ ` DelayDysfunctionDemo.java ` ] ( https://github.com/foldright/cffu/blob/main/cffu-core/src/test/java/io/foldright/demo/CfDelayDysfunctionDemo.java )
632- - ` cffu backport ` 方法的` JavaDoc ` : [ ` CFU#orTimeout() ` ] ( https://foldright.io/api-docs/cffu/1.1.9 /io/foldright/cffu/CompletableFutureUtils.html#orTimeout(F,long,java.util.concurrent.TimeUnit) )
633- / [ ` CFU#completeOnTimeout() ` ] ( https://foldright.io/api-docs/cffu/1.1.9 /io/foldright/cffu/CompletableFutureUtils.html#completeOnTimeout(F,T,long,java.util.concurrent.TimeUnit) )
632+ - ` cffu backport ` 方法的` JavaDoc ` : [ ` CFU#orTimeout() ` ] ( https://foldright.io/api-docs/cffu/1.1.10 /io/foldright/cffu/CompletableFutureUtils.html#orTimeout(F,long,java.util.concurrent.TimeUnit) )
633+ / [ ` CFU#completeOnTimeout() ` ] ( https://foldright.io/api-docs/cffu/1.1.10 /io/foldright/cffu/CompletableFutureUtils.html#completeOnTimeout(F,T,long,java.util.concurrent.TimeUnit) )
634634- 文章[ ` CompletableFuture ` 超时功能使用不当直接生产事故] ( https://juejin.cn/post/7411686792342274089 )
635635
636636### 2.8 支持超时的` join ` 方法
@@ -686,18 +686,18 @@ public class MultipleActionsDemo {
686686 <dependency >
687687 <groupId >io.foldright</groupId >
688688 <artifactId >cffu</artifactId >
689- <version >1.1.9 </version >
689+ <version >1.1.10 </version >
690690 </dependency >
691691 ```
692692 - For `Gradle` projects:
693693
694694 Gradle Kotlin DSL
695695 ```groovy
696- implementation("io.foldright:cffu:1.1.9 ")
696+ implementation("io.foldright:cffu:1.1.10 ")
697697 ```
698698 Gradle Groovy DSL
699699 ```groovy
700- implementation 'io.foldright:cffu:1.1.9 '
700+ implementation 'io.foldright:cffu:1.1.10 '
701701 ```
702702- [📌 `TransmittableThreadLocal(TTL)`](https://github.com/alibaba/transmittable-thread-local)的[`cffu executor wrapper SPI`实现](cffu-ttl-executor-wrapper):
703703 - For `Maven` projects:
@@ -706,19 +706,19 @@ public class MultipleActionsDemo {
706706 <dependency >
707707 <groupId >io.foldright</groupId >
708708 <artifactId >cffu-ttl-executor-wrapper</artifactId >
709- <version >1.1.9 </version >
709+ <version >1.1.10 </version >
710710 <scope >runtime</scope >
711711 </dependency >
712712 ```
713713 - For `Gradle` projects:
714714
715715 Gradle Kotlin DSL
716716 ```groovy
717- runtimeOnly("io.foldright:cffu-ttl-executor-wrapper:1.1.9 ")
717+ runtimeOnly("io.foldright:cffu-ttl-executor-wrapper:1.1.10 ")
718718 ```
719719 Gradle Groovy DSL
720720 ```groovy
721- runtimeOnly 'io.foldright:cffu-ttl-executor-wrapper:1.1.9 '
721+ runtimeOnly 'io.foldright:cffu-ttl-executor-wrapper:1.1.10 '
722722 ```
723723- `cffu bom`:
724724 - For `Maven` projects:
@@ -727,7 +727,7 @@ public class MultipleActionsDemo {
727727 <dependency >
728728 <groupId >io.foldright</groupId >
729729 <artifactId >cffu-bom</artifactId >
730- <version >1.1.9 </version >
730+ <version >1.1.10 </version >
731731 <type >pom</type >
732732 <scope >import</scope >
733733 </dependency >
@@ -736,11 +736,11 @@ public class MultipleActionsDemo {
736736
737737 Gradle Kotlin DSL
738738 ```groovy
739- implementation(platform("io.foldright:cffu-bom:1.1.9 "))
739+ implementation(platform("io.foldright:cffu-bom:1.1.10 "))
740740 ```
741741 Gradle Groovy DSL
742742 ```groovy
743- implementation platform('io.foldright:cffu-bom:1.1.9 ')
743+ implementation platform('io.foldright:cffu-bom:1.1.10 ')
744744 ```
745745
746746# 📚 更多资料
0 commit comments