Skip to content

Cyclops 10.3.0 : reactive-streams circuit breaking error handling

Compare
Choose a tag to compare
@johnmcclean johnmcclean released this 08 Mar 12:38
· 112 commits to master since this release
764e638

Cyclops 10.3.0

What’s new Cyclops 10.3.0

  • reactive-streams enhancements!
  • Circuit breaking onError and recoverWith Operators
    ** Available on ReactiveSeq (reactive-streams push : ReactiveStreamX and iterative pull StreamX)
    ** Available on IO (use With ReactiveSeq, Flux or Flowable!)
  • Eval operators completion : streamWhile, streamUntil use reactive-streams instances when Eval is async
  • Non-backpressure based async Streams have been deprecated - the ReactiveSeq API is designed for controlled flows whether push based and asynchronous or pull based and synchronous
  • Bug fixes : reactive-streams async initialisation error, zip stackoverlow, FutureStream error progagation

Bug fixes

Recursive error handling

IO.of(1, 2, 3)
  .mapChecked(this::loadFromDb)
  .recoverWith(this::loadFromNextSource)
  .stream()
  .vector()

If loadFromDB fails, we will fall back to loadFromNextSource, if that fails we will fallback again to loadFromNextSource which gets the opportunity to choose a different source.

Changelog

Check out the features delivered and bugs fixed -

github 10.3.0 issues & PRs

Dependency changes

Agrona to 0.9.33
Reactor to 3.2.6.RELEASE
RxJava2 to 2.2.7
Jackson to 2.9.8

Modules

Get cyclops X

Gradle

Cyclops

compile 'com.oath.cyclops:cyclops:10.3.0’

Cyclops AnyM

compile 'com.oath.cyclops:cyclops-anym:10.3.0’

Cyclops Futurestream

compile 'com.oath.cyclops:cyclops-futurestream:10.3.0’

Cyclops Pure

compile 'com.oath.cyclops:cyclops-pure:10.3.0’

Cyclops Reactive Collections

compile 'com.oath.cyclops:cyclops-reactive-collections:10.3.0’

Cyclops Reactor Integration

   compile 'com.oath.cyclops:cyclops-reactor-integration:10.3.0'

Cyclops RxJava2 Integration

   compile 'com.oath.cyclops:cyclops-rx2-integration:10.3.0'

Cyclops Jackson Integration

   compile 'com.oath.cyclops:cyclops-jackson-integration:10.3.0'

Maven

Cyclops

<dependency>
    <groupId>com.oath.cyclops</groupId>
    <artifactId>cyclops</artifactId>
    <version>10.3.0</version>
</dependency>

Cyclops AnyM

<dependency>
    <groupId>com.oath.cyclops</groupId>
    <artifactId>cyclops-anym</artifactId>
    <version>10.3.0</version>
</dependency>

Cyclops Futurestream

<dependency>
    <groupId>com.oath.cyclops</groupId>
    <artifactId>cyclops-anym</artifactId>
    <version>10.3.0</version>
</dependency>

Cyclops Pure

<dependency>
    <groupId>com.oath.cyclops</groupId>
    <artifactId>cyclops-pure</artifactId>
    <version>10.3.0</version>
</dependency>

Cyclops Reactive Collections

<dependency>
    <groupId>com.oath.cyclops</groupId>
    <artifactId>cyclops-reactive-collections</artifactId>
    <version>10.3.0</version>
</dependency>

Cyclops Reactor Integration

<dependency>
    <groupId>com.oath.cyclops</groupId>
    <artifactId>cyclops-reactor-integration</artifactId>
    <version>10.3.0</version>
</dependency>

Cyclops RxJava2 Integration

<dependency>
    <groupId>com.oath.cyclops</groupId>
    <artifactId>cyclops-rx2-integration</artifactId>
    <version>10.3.0</version>
</dependency>

Cyclops Jackson Integration

<dependency>
    <groupId>com.oath.cyclops</groupId>
    <artifactId>cyclops-jackson-integration</artifactId>
    <version>10.3.0</version>
</dependency>

License

cyclops-react is licensed under the Apache 2.0 license.

http://www.apache.org/licenses/LICENSE-2.0#