The InfoQ eMag: Reactive Programming with Java
As resource consumption requirements increase and dynamic content generation takes on new dimensions in CPU utilization and data sizes, industry has responded with non-blocking concurrency in the form of reactive programming.
With reactive programming, previously error-prone operations like parking threads and communicating flow control between consumer and provider become trivial.
There is a learning curve, however, and as we travel the road to mastery, we will find ourselves groping for vestiges of traditional programming practices such as testing and refactoring.
For this Reactive Java emag, InfoQ has curated a series of articles to help developers hit the ground running with a comprehensive introduction to the fundamental reactive concepts, followed by a case study/strategy for migrating your project to reactive, some tips and tools for testing reactive, and practical applications using Akka actors.
Reactive Programming with Java eMag includes:
- RxJava by Example - In the ongoing evolution of paradigms for simplifying concurrency under load, the most promising addition is reactive programming, a specification that provides tools for handling asynchronous streams of data and for managing flow-control, making it easier to reason about overall program design.
- Testing RxJava - You are ready to explore reactive opportunities in your code but you are wondering how to test out the reactive idiom in your codebase. In this article Java Champion Andres Almiray provides techniques and tools for testing RxJava.
- Reactor by Example - Reactor, like RxJava 2, is a fourth generation reactive library launched by Spring custodian Pivotal. It builds on the Reactive Streams specification, Java 8, and the ReactiveX vocabulary. In this article, we’ll draw a parallel between Reactor and RxJava, and showcase the common elements as well as the differences.
- Refactoring to Reactive: Anatomy of a JDBC migration - Reactive programming offers built-in solutions for some of the most difficult challenges in programming, including concurrency management and flow control. So you might ask - how do I get there; can I introduce it in phases? In this article we transform a legacy application to a reactive model using RxJava.
- Building Reactive Applications with Akka Actors and Java 8 - Akka and Java 8 make it possible to create distributed microservice-based systems that just a few years ago were the stuff of dreams. Actor based systems enable developers to create quickly evolving microservice architectures that can elastically scale systems to support huge volumes of data.
InfoQ eMags are professionally designed, downloadable collections of popular InfoQ content - articles, interviews, presentations, and research - covering the latest software development technologies, trends, and topics.