Table of contents : Reactive Spring Table of Contents Frontmatter Dedication Preface Foreword Chapter 1. Introduction Chapter 2. Prerequisites 2.1. Who this book is for 2.2. What you need for this book 2.3. Conventions 2.4. Reader feedback 2.5. Getting the Code 2.6. Building the Code 2.7. Running the Code 2.8. Some Foundational Java Chapter 3. Bootstrap 3.1. A Big ol' Bag o' Beans 3.2. The CustomerService 3.3. An Inflexible Implementation 3.4. A Parameterized Implementation 3.5. Templates 3.6. A Context For Your Application 3.7. Component Scanning 3.8. Declarative Container Services with @Enable* Annotations 3.9. A "Bootiful" Application 3.10. But What If… 3.11. Deployment 3.12. Next Steps Chapter 4. IO, IO, It’s Off to Work We Go… 4.1. A Natural Limit 4.2. The Missing Metaphor 4.3. The Reactive Streams Initiative 4.4. Are We There Yet? 4.5. Towards a More Functional, Reactive Spring Chapter 5. Reactor 5.1. The Reactive Streams Specification 5.2. Project Reactor 5.3. Creating New Reactive Streams 5.4. Processors 5.5. Operators 5.6. Operator Fusion 5.7. Schedulers and Threads 5.8. Hot and Cold Streams 5.9. Context 5.10. Control Flow 5.11. Debugging 5.12. Next Steps Chapter 6. Data Access 6.1. Why Should You Go Reactive? 6.2. What About Transactions? 6.3. Reactive SQL Data Access 6.4. More Efficient, Reactive Data Access in NoSQL Pastures 6.5. Review 6.6. Next Steps Chapter 7. HTTP 7.1. HTTP Works 7.2. HTTP Scales 7.3. REST 7.4. Spring WebFlux: a Net-New Reactive Web Runtime 7.5. Long-Lived Client Connections 7.6. Server-Sent Events (SSE) 7.7. Websockets 7.8. Reactive Views with Thymeleaf 7.9. A Reactive Servlet Container 7.10. The Reactive Client 7.11. Security 7.12. Next Steps Chapter 8. Testing 8.1. How I Stopped Worrying and Learned to Love Testing 8.2. Test Driven Development 8.3. Inside-Out or Outside-In 8.4. The Customer Object is Always Right (Right?) 8.5. A Repository of (Untested) Knowledge 8.6. On The Web, No One Knows You’re a Reactive Stream 8.7. The Customer is Always Right! 8.8. The Customer Is Not Always Right 8.9. Conclusion Chapter 9. RSocket 9.1. Motivations for RSocket 9.2. Common Infrastructure for Raw RSocket 9.3. Raw RSocket 9.4. Bootiful RSocket 9.5. Security 9.6. Spring Integration 9.7. Next Steps Chapter 10. Service Orchestration and Composition 10.1. Service Registration and Discovery 10.2. Some Simple Sample Services 10.3. Client Side Loadbalancing in the WebClient 10.4. Resilient Streams with Reactor Operators 10.5. Resilient Streams with Resilience4J 10.6. Hedging 10.7. Reactive Scatter/Gather 10.8. API Gateways with Spring Cloud Gateway 10.9. Summary Chapter 11. Action! 11.1. Websites to Bookmark 11.2. Additional reading Acknowledgements Chapter 12. About the Author Colophon for Reactive Spring