Skip to content

github112017/spring-reactive-sample

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spring Reactive Sample

This is a sandbox project for demonstrating ReactiveStream support in Spring framework and its ecosystem.

Related Posts

Sample Codes

The following table lits all sample codes related to this post. The sample codes of this post is hosted on my Github account, welcome to star and fork it.

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-reactor-netty Same as vanilla, but use Reactor Netty as target runtime
vanilla-reactor-netty Same as vanilla, but use Undertow as target runtime
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
rxjava2 Same as vanilla, but use Rxjava2 instead of Reactor
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 application bootstrap
data-mongo Demonstration of Spring Data Mongo reactive support
data-redis Demonstration of Spring Data Redis reactive support
data-cassandra Demonstration of Spring Data Cassandra reactive support
data-couchbase Demonstration of Spring Data Couchbase reactive support
security Based on vanilla, add secuirty for spring webflux support
security-user-properties Same as secuirty, 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 (PENDING)Multipart and file uploading, but data in Mongo via Spring Data Mongo, waitng for Reactive support for GridFsTemplate
mvc-thymeleaf Traditinal web mvc application, use Thymeleaf specific Reactive view resolver to render view
mvc-freemarker Traditinal web mvc application, use freemarker as template engine, currently it does not have a reactive view resolver
sse Server Send Event and json stream example
websocket Reactive Websocket example
boot Switch to Spring Boot to get autoconfiguration of spring-webflux, added extra Spring Data Mongo, Spring Secuirty support
boot-jetty Same as boot, but use Jetty as target runtime
boot-tomcat Same as boot, but use Tomcat as target runtime
boot-undertow Same as boot, but use Undertow as target runtime
boot-routes Use RouterFunction instead of the general Controller in boot
boot-freemarker Same as mvc-freemarker, but based on Spring Boot
groovy Same features as boot, but written in groovy
client Demonstration of WebClient to shake hands with backend reactive APIs
kotlin Same features as boot, but written in kotlin
kotlin-gradle Use kotlin functional approach to declare beans and bootstrap the application programatically
session (WIP)More features will be added here

References

Thanks

I appreciate all contribution from the community, not limited to reporting bugs, filing an issue, etc.

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

About

Spring 5 Reactive playground

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 86.2%
  • Kotlin 7.4%
  • Groovy 3.5%
  • HTML 2.1%
  • FreeMarker 0.7%
  • TSQL 0.1%