Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Going with Data. Christoph Strobl Pivotal Software Inc. @stroblchristoph
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ In a nutshell, reactive programming is about non-blocking, event-driven applications that scale with a small number of threads with back pressure as a key ingredient that aims to ensure producers to not overwhelm consumers. (Rossen Stoyanchev)
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ - A bit of recent history. - Project Reactor / Spring Data Kay / Spring Framework 5. - Some Code.
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ 2.0 GA 5.0 M1 Jul 2016 Kay M1 Sept 2016 Nov 2016 3.0 GA Sept 2015 Kay GA Sept 28 5.0 GA Oct 2nd Sept 25 3.1 GA Sept 21 9 Nov 9th
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ image: Fire at the Bamber Family Home (FAL v.1.3 License)
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ image: Fire at the Bamber Family Home (FAL v.1.3 License)
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ image: Fire at the Bamber Family Home (FAL v.1.3 License)
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ image: Fire at the Bamber Family Home (FAL v.1.3 License)
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Provider of a potentially unbounded number of sequenced elements. Publisher Subscriber A processing stage - actually both a Subscriber and a Publisher. Processor One-to-one lifecycle of a Subscriber subscribing to a Publisher. Subscription
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Spring Framework 5 Project Reactor 3.1 Spring Data Kay
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Apply familiar concepts to a new way of expressing functionality. With minimal fluff and surprise!
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ /** * Query for a {@link Flux} of objects of type T from the specified collection. * * @param entityClass the parametrized type of the returned {@link Flux}. * @param collectionName name of the collection to retrieve the objects from * @return the converted collection */ Flux findAll(Class entityClass, String collectionName); /** * Map the results of an ad-hoc query on the collection for the entity class to a * single instance of an object of the * specified type. * * @param query the query class that specifies the criteria * @param entityClass the parametrized type of the returned {@link Mono}. * @return the converted object */ Mono findOne(Query query, Class entityClass);
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ /** * Counts the number of documents in the collection according to the given options. * * @param filter the query filter * @return a publisher with a single element indicating the number of documents */ Publisher count(Bson filter); /** * Finds all documents in the collection. * * @param filter the query filter * @return the fluent find interface */ FindPublisher find(Bson filter);
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Time to Code… https://github.com/christophstrobl/going-reactive-with-spring-data
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Reactive is about efficient resource usage. Even if backed with familiar concepts and framework support, it is no free lunch. The price is complexity.
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Spring Framework 5 Project Reactor 3.1 Spring Data Kay Thank you! Questions ?