The Wayback Machine - https://web.archive.org/web/20200613072844/https://github.com/hantsy/spring-reactive-sample
Skip to content
Spring 5 Reactive playground
Java Kotlin Groovy HTML FreeMarker TSQL
Branch: master
Clone or download

Latest commit

Latest commit 4e5e58e Jun 8, 2020

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github added labler.yml as required. May 27, 2020
boot-data-cassandra Upgraded to Spring Boot 2.1.6.RELEASE Jun 29, 2019
boot-data-couchbase Upgraded to Spring Boot 2.1.6.RELEASE Jun 29, 2019
boot-data-elasticsearch added reactive data elasticsearch sample Mar 9, 2019
boot-data-mongo-gridfs clean data-gridfs example. Mar 3, 2020
boot-data-mongo-querydsl clean querydsl example. Mar 3, 2020
boot-data-mongo clean data-gridfs example. Mar 3, 2020
boot-data-neo4j-rx clean boot-data-neo4j-rx. May 28, 2020
boot-data-r2dbc-mssql Spring Boot 2.2.5 Mar 3, 2020
boot-data-r2dbc-mysql Spring Boot 2.2.5 Mar 3, 2020
boot-data-r2dbc-postgresql refactored boot-data-r2dbc-postgresql to use testContainers for @Data… May 28, 2020
boot-data-r2dbc Spring Boot 2.2.5 Mar 3, 2020
boot-data-redis Upgraded to Spring Boot 2.1.6.RELEASE Jun 29, 2019
boot-exception-handler Upgraded to Spring Boot 2.1.6.RELEASE Jun 29, 2019
boot-groovy clean boot-groovy Mar 4, 2020
boot-jetty Upgraded to Spring Boot 2.1.6.RELEASE Jun 29, 2019
boot-kotlin-dsl Upgraded to Spring Boot 2.1.6.RELEASE Jun 29, 2019
boot-kotlin Upgraded to Spring Boot 2.1.6.RELEASE Jun 29, 2019
boot-mvc-freemarker Upgraded to Spring Boot 2.1.6.RELEASE Jun 29, 2019
boot-mvc-mustache Upgraded to Spring Boot 2.1.6.RELEASE Jun 29, 2019
boot-mvc-thymeleaf Upgraded to Spring Boot 2.1.6.RELEASE Jun 29, 2019
boot-neo4j-rx-cypher Spring Boot 2.2.5 Mar 3, 2020
boot-neo4j-rx Spring Boot 2.2.5 Mar 3, 2020
boot-r2dbc Spring Boot 2.2.5 Mar 3, 2020
boot-routes Upgraded to Spring Boot 2.1.6.RELEASE Jun 29, 2019
boot-start-routes Upgraded to Spring Boot 2.1.6.RELEASE Jun 29, 2019
boot-start Upgraded to Spring Boot 2.1.6.RELEASE Jun 29, 2019
boot-tomcat Upgraded to Spring Boot 2.1.6.RELEASE Jun 29, 2019
boot-undertow Upgraded to Spring Boot 2.1.6.RELEASE Jun 29, 2019
client Spring Boot 2.2.5 Mar 3, 2020
data-cassandra Upgraded to Spring Boot 2.1.6.RELEASE Jun 29, 2019
data-couchbase Upgraded to Spring Boot 2.1.6.RELEASE Jun 29, 2019
data-mongo-pageable clean data-mongo, vanilla sample, and update to Spring Boot 2.2.5 Mar 4, 2020
data-mongo-transaction Upgraded to Spring Boot 2.1.6.RELEASE Jun 29, 2019
data-mongo clean data-mongo, vanilla sample, and update to Spring Boot 2.2.5 Mar 4, 2020
data-r2dbc-postgresql refactored boot-data-r2dbc-postgresql to use testContainers for @Data… May 28, 2020
data-r2dbc refactored boot-data-r2dbc-postgresql to use testContainers for @Data… May 28, 2020
data-redis-message Upgraded to Spring Boot 2.1.6.RELEASE Jun 29, 2019
data-redis Upgraded to Spring Boot 2.1.6.RELEASE Jun 29, 2019
docs improved data-r2dbc.md Feb 16, 2020
exception-handler Upgraded to Spring Boot 2.1.6.RELEASE Jun 29, 2019
groovy-dsl clean groovy-dsl and groovy example. Mar 4, 2020
groovy clean groovy-dsl and groovy example. Mar 4, 2020
integration-dsl Upgraded to Spring Boot 2.1.6.RELEASE Jun 29, 2019
integration Upgraded to Spring Boot 2.1.6.RELEASE Jun 29, 2019
java8 Upgraded to Spring Boot 2.1.6.RELEASE Jun 29, 2019
java9 add sdn-rx sample. Aug 20, 2019
kotlin-dsl Upgraded to Spring Boot 2.1.6.RELEASE Jun 29, 2019
kotlin-routes Upgraded to Spring Boot 2.1.6.RELEASE Jun 29, 2019
kotlin Upgraded to Spring Boot 2.1.6.RELEASE Jun 29, 2019
mongo-initdb.d added redis messaging. Aug 22, 2018
mssql-initdb.d add data-r2dbc-mssql sample Jan 6, 2020
multipart-data-mongo updated multipart-data-mongo Mar 31, 2019
multipart clean the codes. Jun 30, 2019
mvc-freemarker add sdn-rx sample. Aug 20, 2019
mvc-mustache Upgraded to Spring Boot 2.1.6.RELEASE Jun 29, 2019
mvc-thymeleaf Upgraded to Spring Boot 2.1.6.RELEASE Jun 29, 2019
mysql-initdb.d added data-r2dbc for MySQL database. May 18, 2019
pg-initdb.d added init.sql into docker. Oct 26, 2018
register-bean Upgraded to Spring Boot 2.1.6.RELEASE Jun 29, 2019
restdocs remove restdocs-raml, will be replaced with new sample. May 1, 2020
routes Upgraded to Spring Boot 2.1.6.RELEASE Jun 29, 2019
rxjava-jdbc Upgraded to Spring Boot 2.1.6.RELEASE Jun 29, 2019
rxjava Upgraded to Spring Boot 2.1.6.RELEASE Jun 29, 2019
rxjava2-jdbc Upgraded to Spring Boot 2.1.6.RELEASE Jun 29, 2019
rxjava2 Upgraded to Spring Boot 2.1.6.RELEASE Jun 29, 2019
security-data-mongo Upgraded to Spring Boot 2.1.6.RELEASE Jun 29, 2019
security-form Upgraded to Spring Boot 2.1.6.RELEASE Jun 29, 2019
security-method Upgraded to Spring Boot 2.1.6.RELEASE Jun 29, 2019
security-user-properties Upgraded to Spring Boot 2.1.6.RELEASE Jun 29, 2019
security Upgraded to Spring Boot 2.1.6.RELEASE Jun 29, 2019
session-data-mongo Upgraded to Spring Boot 2.1.6.RELEASE Jun 29, 2019
session-data-redis Upgraded to Spring Boot 2.1.6.RELEASE Jun 29, 2019
session-header Upgraded to Spring Boot 2.1.6.RELEASE Jun 29, 2019
session updated. Jul 10, 2019
sse Upgraded to Spring Boot 2.1.6.RELEASE Jun 29, 2019
vanilla-jetty clean data-mongo, vanilla sample, and update to Spring Boot 2.2.5 Mar 4, 2020
vanilla-tomcat fixes tomcat start issue in vanilla-tomcat sample Mar 4, 2020
vanilla-undertow clean data-mongo, vanilla sample, and update to Spring Boot 2.2.5 Mar 4, 2020
vanilla clean data-mongo, vanilla sample, and update to Spring Boot 2.2.5 Mar 4, 2020
war add sdn-rx sample. Aug 20, 2019
web-filter Upgraded to Spring Boot 2.1.6.RELEASE Jun 29, 2019
websocket Upgraded to Spring Boot 2.1.6.RELEASE Jun 29, 2019
.gitignore move session out this repos, and small update for kotlin-gradle. Sep 11, 2017
GUIDE.md refactor README.md Sep 17, 2019
LICENSE Initial commit Jul 24, 2017
README.md Update README.md Jun 8, 2020
boot.md fixes typo Dec 2, 2017
docker-compose.yml update neo4j to 4.0 Feb 16, 2020
init.png initial commit Jul 24, 2017
jetbrains.png add jetbrains.png Sep 17, 2019
mongo-rep-set.yml added initdb user and password to initialize scripts in Mongo. Aug 21, 2018
start.png fixes typo Dec 2, 2017
webflux.png added data operations. Aug 14, 2017

README.md

Spring Reactive Sample

This is a sandbox project for examplenstrating Reactive Streams support in Spring framework and its ecosystem.

I've also maintained a series of repos related to ReativeStreams and the latest Spring 5.

Docs

Sample Codes

The following table list all sample codes related to the above posts.

Spring Samples

name description
vanilla The initial application, includes basic spring-webflux feature, use a main class to start up the application
vanilla-jetty Same as vanilla, but use Jetty as target runtime
vanilla-tomcat Same as vanilla, but use Reactor Netty as target runtime
vanilla-undertow Same as vanilla, but use Undertow as target runtime
java8 Java 8 CompletableFuture and @Async example
java9 Same as vanilla, Java 9 Flow API support is not ready in Spring 5.0.0.REALESE, planned in 5.0.1, see issue SPR-16052 and the original discussion on stackoverflow
rxjava Same as vanilla, but use Rxjava instead of Reactor
rxjava-jdbc Accessing database with rxjava-jdbc
rxjava2 Same as vanilla, but use Rxjava2 instead of Reactor
rxjava2-jdbc Accessing database with rxjava2-jdbc
war Replace the manual bootstrap class in vanilla with Spring ApplicationInitializer, it can be packaged as a war file to be deployed into an external servlet container.
routes Use RouterFunction instead of controller in vanilla
register-bean Programmatic approach to register all beans in ApplicatonContext at the application bootstrap
data-mongo Spring Data Mongo Reactive example
data-mongo-pageable Spring Data Mongo Reactive example with pagination support
data-mongo-transaction Spring Data Mongo Reactive example with Transaction support
data-redis Spring Data Redis Reactive example
data-redis-message Spring Data Redis Reactive Example with ReactiveRedisMessageListenerContainer
data-cassandra Spring Data Cassandra Reactive example
data-couchbase Spring Data Couchbase Reactive example
data-r2dbc Spring Data R2dbc Example
data-r2dbc-postgresql Spring Data R2dbc Example, but use PostgreSQL instead
security Based on vanilla, add Spring Security Reactive support
security-form Same as security, login form example
security-user-properties Same as security, but use users.properties to store users
security-method Replace URI based configuration with method level constraints
security-data-mongo Based on data-mongo and security, replace with dummy users in hard codes with Mongo driven store
multipart Mutipart request handling and file uploading
multipart-data-mongo Multipart and file uploading, but data in Mongo via Spring Data Mongo Reactive GridFsTemplate
mvc-thymeleaf Traditional web application, use Thymeleaf as template engine
mvc-mustache Traditional web application, use Mustache as template engine
mvc-freemarker Traditional web application, use freemarker as template engine
sse Server Send Event example
websocket WebSocket example
web-filter WebFilter example
groovy Written in groovy
groovy-dsl Groovy DSL bean definition example
client examplenstration of WebClient to shake hands with backend reactive APIs
kotlin Written in kotlin
kotlin-routes Use kotlin functional approach to declare beans and bootstrap the application programmatically
kotlin-dsl Kotlin DSL bean definition example
session Spring Session Example
session-header Spring Session WebSessionIdResolver Example
session-data-redis Spring Data Redis based ReactiveSessionRepository Example
session-data-mongo Spring Data Mongo based ReactiveSessionRepository Example
exception-handler Exception Handler Example
integration Spring Integration Example
integration-dsl Spring Integration Java 8 DSL Example
restdocs Spring RestDocs Example

Spring Boot Samples

name description
boot-start Switch to Spring Boot to get autoconfiguration of Spring WebFlux
boot-start-routes Simple RouterFunction example
boot-jetty Example using Jetty as target runtime
boot-tomcat Example using Tomcat as target runtime
boot-undertow Example using Undertow as target runtime
boot-routes RouterFunction CRUD Example
boot-mvc-thymeleaf Same as mvc-thymeleaf, but based on Spring Boot
boot-mvc-mustache Same as mvc-mustache, but based on Spring Boot
boot-mvc-freemarker Same as mvc-freemarker, but based on Spring Boot
boot-groovy Written in Groovy
boot-kotlin Written in Kotlin
boot-kotlin-dsl Kotlin specific BeanDefinitionDSL Example
boot-r2dbc Spring Data R2dbc example using DatabaseClient
boot-data-r2dbc Spring Data R2dbc example
boot-data-r2dbc-postgresql Same as boot-data-r2dbc, but use PostgresSQL instead
boot-data-r2dbc-mysql Same as boot-data-r2dbc, but use MySQL instead
boot-data-r2dbc-mssql Same as boot-data-r2dbc, but use MS SQL instead
boot-neo4j-rx Spring Data Neo4j Rx Example but use ReactiveNeo4jClient.
boot-neo4j-rx-cypher Spring Data Neo4j Rx Example using Cypher queries
boot-data-neo4j-rx Spring Data Neo4j Rx Example
boot-data-cassandra Spring Data Cassandra Example
boot-data-couchbase Spring Data Couchbase Example
boot-data-elasticsearch Spring Data ElasticSearch Example
boot-data-mongo Spring Data Mongo Example
boot-data-mongo-querydsl Spring Data Mongo Example with QueryDSL support
boot-data-mongo-gridfs Spring Data Mongo Example with Gridfs support
boot-exception-handler Global Exception Handler

References

Special Thanks

Specials thanks for Jetbrains's support by contributing an open-source license.

You can’t perform that action at this time.