- Learn about Java 9's Flow API, Reactive programming along with Kafka and Mockito, and how these aspects are utilized by RxJava
- Build fast and concurrent applications with ease, without the complexity of Java's concurrent API and shared states, with the help of Spring
- Explore a wide variety of code examples to easily get used to all the features and tools provided by RxJava
Reactive programming is an asynchronous programming model that helps you tackle the essential complexity that comes with writing such applications.
Using Reactive programming to start building applications is not immediately intuitive to a developer who has been writing programs in the imperative paradigm. To tackle the essential complexity, Reactive programming uses declarative and functional paradigms to build programs. This book sets out to make the paradigm shift easy.
This book begins by explaining what Reactive programming is, the Reactive manifesto, and the Reactive Streams specifi cation. It uses Java 9 to introduce the declarative and functional paradigm, which is necessary to write programs in the Reactive style. It explains Java 9’s Flow API, an adoption of the Reactive Streams specifi cation. From this point on, it focuses on RxJava 2.0, covering topics such as creating, transforming,fi ltering, combining, and testing Observables. It discusses how to use Java’s popular framework, Spring, to build event-driven, Reactive applications. You will also learn how to implement resiliency patterns using Hystrix. By the end, you will be fully equipped with the tools and techniques needed to implement robust, event-driven, Reactive applications.
What you will learn
- Understand the Reactive Manifesto
- Grasp the Reactive Streams types introduced in Java 9 in the form of the Flow API
- Use RxJava, a Reactive Streams implementation, to build asynchronous applications
- Build responsiveness and resilience into applications using RxJava operators
- Demonstrate the usage of Hystrix, a latency and fault tolerance library from Netfl ix that uses RxJava
- Implement Reactive web applications using Spring Framework 5 and RxJava
About the Author
Tejaswini Mandar Jog is a passionate and enthusiastic Java trainer. She has more than nine years of experience in the IT training field, specializing in Java, J2EE, Spring, and relevant technologies. She has worked with many renowned corporate companies on training and skill enhancement programs. She is also involved in the development of projects using Java, Spring, and Hibernate. Tejaswini has written two books. In her first book, Learning Modular Java Programming, the reader explores the power of modular programming to build applications with Java and Spring. The second book, Learning Spring 5.0, explores building an application using the Spring 5.0 framework with the latest modules such as WebFlux for dealing with reactive programming.
Table of Contents
- Introduction to reactive programming
- Programming paradigm shift
- Reactive streams
- Reactive types in RxJava
- Building responsiveness
- Building resiliency
- Spring reactive web
- Implementing resiliency patterns using Hystrix
- Reactive Data Access