-
Notifications
You must be signed in to change notification settings - Fork 32
Closed
Description
📚 Documentation
🦮 CompletableFuture Guide
- 📌 design patterns of biz usage
- 📌 best practice and traps
- write English doc, and English first
see README.md
🎪 CompletableFuture Usage Showcase
see CompletableFutureUsageShowcaseTest.kt
🇨🇳 Translations
- translate javadoc of
📦 Library
see
✨ Support the missing convenient new methods
- new methods
CffuFactory.cffuAllOf(...)(7acfa4d)
with results version ofCompletableFuture.allof - new methods
CffuFactory.cffuAnyOf(...)(d9df93f)
type safe version ofCompletableFuture.anyOfMethod - new methods
Cffu.cffuCombine(...)
same asCffuFactory.cffuAllOf(...), providing this method is convenient for method chaining. - new method
Cffu.cffuJoinsupport timeoutjoin⏳ (323e14a)
🚗 Customizable CF
- sticky default executor for
*Asyncmethods
🔮 backport CF methods from high java versions to Java 8
Cffu.java- timeout control methods
orTimeout(...)/completeOnTimeout(...) -
exceptionallyAsync() -
exceptionallyCompose(...)/exceptionallyComposeAsync(...) -
resultNow()/exceptionNow() - backport
Future#state()- and add a new method
cffuState()to works onJava 8
- and add a new method
-
completeAsync(...) -
minimalCompletionStage() -
copy() -
newIncompleteFuture()
- timeout control methods
CffuFactory.java- delay execution methods
defaultExecutor(...) -
completedStage(...)/failedStage(...) -
failedFuture(...)
- delay execution methods
🍩 Kotlin support
- extension methods of java implemented methods
🙌 Mics
- make lib 0-dependence(optional
Kotlinruntime is ok)
implementtupleinstead ofcommon-lang3dependency
☔️ Testing
- API compatibility test with
CompletableFuture - 📌 benchmark building chain performance by
CffuvsCompletableFuture - 📌 benchmark execution chain performance by
CffuvsCompletableFuture
👷 Chore
- CI build/Github Action
- support build by
Java 19and test by low version java(e.g.Java 8) (3a0c8e3)
because the implementation used high java version api ofCF - 📌 release maven SNAPSHOT to repo when main branch integration_test pass
- support build by
oldratlee and DokiYoloooldratlee and driventokill
Metadata
Metadata
Assignees
Labels
No labels