You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
spring-boot/spring-boot-samples
Andy Wilkinson cffc870fd6 Fix test failures on Windows
Since the move to JUnit 5, a number of tests were failing on Windows.
The majority were failing due to open file handles preventing the
clean up of the tests' temporary directory. This commit addresses
these failures by updating the tests to close JarFiles, InputStreams,
OutputStreams etc.

A change has also been made to CachingOperationInvokerTests to make
a flakey test more robust. Due to System.currentTimeMillis() being
less precise on Windows than it is on *nix platforms, the test could
fail as it would not sleep for long enough for the TTL period to have
expired.
6 years ago
..
spring-boot-sample-activemq Repackage output capture and always use extension declaratively 6 years ago
spring-boot-sample-actuator Add JUnit 5 checkstyle rules 6 years ago
spring-boot-sample-actuator-custom-security Change default Freemarker template file extension 6 years ago
spring-boot-sample-actuator-log4j2 Merge branch '2.1.x' 6 years ago
spring-boot-sample-actuator-noweb Next Development Version 6 years ago
spring-boot-sample-actuator-ui Change default Freemarker template file extension 6 years ago
spring-boot-sample-amqp Next Development Version 6 years ago
spring-boot-sample-animated-banner Merge branch '1.5.x' into 2.0.x 6 years ago
spring-boot-sample-ant Merge branch '2.1.x' 6 years ago
spring-boot-sample-aop Repackage output capture and always use extension declaratively 6 years ago
spring-boot-sample-atmosphere Merge branch '2.1.x' 6 years ago
spring-boot-sample-batch Merge branch '2.1.x' 6 years ago
spring-boot-sample-cache Merge branch '2.1.x' 6 years ago
spring-boot-sample-custom-layout Next Development Version 6 years ago
spring-boot-sample-data-cassandra Merge branch '2.1.x' 6 years ago
spring-boot-sample-data-couchbase Merge branch '2.1.x' 6 years ago
spring-boot-sample-data-elasticsearch Merge branch '2.1.x' 6 years ago
spring-boot-sample-data-jdbc Update copyright header of changed files 6 years ago
spring-boot-sample-data-jpa Merge branch '2.1.x' 6 years ago
spring-boot-sample-data-ldap Repackage output capture and always use extension declaratively 6 years ago
spring-boot-sample-data-mongodb Merge branch '2.1.x' 6 years ago
spring-boot-sample-data-neo4j Merge branch '2.1.x' 6 years ago
spring-boot-sample-data-redis Repackage output capture and always use extension declaratively 6 years ago
spring-boot-sample-data-rest Merge branch '2.1.x' 6 years ago
spring-boot-sample-data-solr Merge branch '2.1.x' 6 years ago
spring-boot-sample-devtools Merge branch '2.1.x' 6 years ago
spring-boot-sample-flyway Merge branch '2.1.x' 6 years ago
spring-boot-sample-hateoas Merge branch '2.1.x' 6 years ago
spring-boot-sample-integration Merge branch '2.1.x' 6 years ago
spring-boot-sample-jersey Merge branch '2.1.x' 6 years ago
spring-boot-sample-jetty Merge branch '2.1.x' 6 years ago
spring-boot-sample-jetty-jsp Update copyright header of changed files 6 years ago
spring-boot-sample-jetty-ssl Next Development Version 6 years ago
spring-boot-sample-jooq Merge branch '2.1.x' 6 years ago
spring-boot-sample-jpa Change default Freemarker template file extension 6 years ago
spring-boot-sample-jta-atomikos Merge branch '2.1.x' 6 years ago
spring-boot-sample-jta-bitronix Merge branch '2.1.x' 6 years ago
spring-boot-sample-jta-jndi Next Development Version 6 years ago
spring-boot-sample-junit-jupiter Explicitly include JUnit 4 in test starter 6 years ago
spring-boot-sample-kafka Merge branch '2.1.x' 6 years ago
spring-boot-sample-liquibase Merge branch '2.1.x' 6 years ago
spring-boot-sample-logback Merge branch '2.1.x' 6 years ago
spring-boot-sample-oauth2-client Merge branch '2.1.x' 6 years ago
spring-boot-sample-oauth2-resource-server Merge branch '2.1.x' 6 years ago
spring-boot-sample-parent-context Fix test failures on Windows 6 years ago
spring-boot-sample-profile Merge branch '2.1.x' 6 years ago
spring-boot-sample-property-validation Merge branch '2.1.x' 6 years ago
spring-boot-sample-quartz Merge branch '2.1.x' 6 years ago
spring-boot-sample-reactive-oauth2-client Merge branch '2.1.x' 6 years ago
spring-boot-sample-reactive-oauth2-resource-server Merge branch '2.1.x' 6 years ago
spring-boot-sample-secure Merge branch '2.1.x' 6 years ago
spring-boot-sample-secure-webflux Merge branch '2.1.x' 6 years ago
spring-boot-sample-servlet Merge branch '2.1.x' 6 years ago
spring-boot-sample-session Merge branch '2.1.x' 6 years ago
spring-boot-sample-session-webflux Merge branch '2.1.x' 6 years ago
spring-boot-sample-simple Repackage output capture and always use extension declaratively 6 years ago
spring-boot-sample-test Merge branch '2.1.x' 6 years ago
spring-boot-sample-test-nomockito Update copyright header of changed files 6 years ago
spring-boot-sample-testng Next Development Version 6 years ago
spring-boot-sample-tomcat Merge branch '2.1.x' 6 years ago
spring-boot-sample-tomcat-jsp Next Development Version 6 years ago
spring-boot-sample-tomcat-multi-connectors Merge branch '2.1.x' 6 years ago
spring-boot-sample-tomcat-ssl Update copyright header of changed files 6 years ago
spring-boot-sample-traditional Merge branch '2.1.x' 6 years ago
spring-boot-sample-undertow Merge branch '2.1.x' 6 years ago
spring-boot-sample-undertow-ssl Next Development Version 6 years ago
spring-boot-sample-war Update copyright header of changed files 6 years ago
spring-boot-sample-web-freemarker Change default Freemarker template file extension 6 years ago
spring-boot-sample-web-groovy-templates Merge branch '2.1.x' 6 years ago
spring-boot-sample-web-jsp Merge branch '2.1.x' 6 years ago
spring-boot-sample-web-method-security Merge branch '2.1.x' 6 years ago
spring-boot-sample-web-mustache Merge branch '2.1.x' 6 years ago
spring-boot-sample-web-secure Merge branch '2.1.x' 6 years ago
spring-boot-sample-web-secure-custom Merge branch '2.1.x' 6 years ago
spring-boot-sample-web-secure-jdbc Merge branch '2.1.x' 6 years ago
spring-boot-sample-web-static Merge branch '2.1.x' 6 years ago
spring-boot-sample-web-ui Merge branch '2.1.x' 6 years ago
spring-boot-sample-webflux Merge branch '2.1.x' 6 years ago
spring-boot-sample-webservices Merge branch '2.1.x' 6 years ago
spring-boot-sample-websocket-jetty Merge branch '2.1.x' 6 years ago
spring-boot-sample-websocket-tomcat Merge branch '2.1.x' 6 years ago
spring-boot-sample-websocket-undertow Merge branch '2.1.x' 6 years ago
spring-boot-sample-xml Repackage output capture and always use extension declaratively 6 years ago
README.adoc
pom.xml Broaden files covered by checkstyle 6 years ago

README.adoc

= Spring Boot Samples

The following sample applications are provided:

|===
| Sample | Description

| link:spring-boot-sample-activemq[spring-boot-sample-activemq]
| JMS consumer and producer using Apache ActiveMQ

| link:spring-boot-sample-actuator[spring-boot-sample-actuator]
| REST service with production-ready features

| link:spring-boot-sample-actuator-log4j2[spring-boot-sample-actuator-log4j2]
| Production-ready features using log4j 2 for logging (instead of logback)

| link:spring-boot-sample-actuator-noweb[spring-boot-sample-actuator-noweb]
| Non-web application with production-ready features

| link:spring-boot-sample-actuator-ui[spring-boot-sample-actuator-ui]
| Web UI example with production-ready features

| link:spring-boot-sample-amqp[spring-boot-sample-amqp]
| Message-oriented application using AMQP and RabbitMQ

| link:spring-boot-sample-ant[spring-boot-sample-ant]
| Executable JAR build using Ant

| link:spring-boot-sample-aop[spring-boot-sample-aop]
| Demonstrates explicit usage of Spring AOP

| link:spring-boot-sample-atmosphere[spring-boot-sample-atmosphere]
| Chat service built using Atmosphere

| link:spring-boot-sample-batch[spring-boot-sample-batch]
| Define and run a Batch job in a few lines of code

| link:spring-boot-sample-cache[spring-boot-sample-cache]
| Web application that uses Spring's cache abstraction

| link:spring-boot-sample-custom-layout[spring-boot-sample-custom-layout]
| Creates custom Jar Layout

| link:spring-boot-sample-data-cassandra[spring-boot-sample-data-cassandra]
| Stores data using Spring Data Cassandra

| link:spring-boot-sample-data-couchbase[spring-boot-sample-data-couchbase]
| Stores data using Spring Data Couchbase

| link:spring-boot-sample-data-elasticsearch[spring-boot-sample-data-elasticsearch]
| Stores data using Spring Data Elasticsearch

| link:spring-boot-sample-data-jdbc[spring-boot-sample-data-jdbc]
| Stores data using Spring Data JDBC

| link:spring-boot-sample-data-jpa[spring-boot-sample-data-jpa]
| Stores data using Spring Data JPA with Hibernate

| link:spring-boot-sample-data-ldap[spring-boot-sample-data-ldap]
| Stores data using Spring Data LDAP

| link:spring-boot-sample-data-mongodb[spring-boot-sample-data-mongodb]
| Stores data using Spring Data MongoDB

| link:spring-boot-sample-data-neo4j[spring-boot-sample-data-neo4j]
| Stores data using Spring Data Neo4j

| link:spring-boot-sample-data-redis[spring-boot-sample-data-redis]
| Stores data using Spring Data Redis

| link:spring-boot-sample-data-rest[spring-boot-sample-data-rest]
| RESTful service built using Spring Data REST

| link:spring-boot-sample-data-solr[spring-boot-sample-data-solr]
| Stores data using Spring Data Solr

| link:spring-boot-sample-devtools[spring-boot-sample-devtools]
| Using DevTools for rapid application development

| link:spring-boot-sample-flyway[spring-boot-sample-flyway]
| Database migrations with Flyway

| link:spring-boot-sample-hateoas[spring-boot-sample-hateoas]
| RESTful API built using Spring Hateoas

| link:spring-boot-sample-integration[spring-boot-sample-integration]
| Integration application built using Spring Integration and its Java DSL

| link:spring-boot-sample-jersey[spring-boot-sample-jersey]
| RESTful service built using Jersey

| link:spring-boot-sample-jetty[spring-boot-sample-jetty]
| Embedded Jetty

| link:spring-boot-sample-jetty-ssl[spring-boot-sample-jetty-ssl]
| Embedded Jetty configured to use SSL

| link:spring-boot-sample-jetty-jsp[spring-boot-sample-jetty-jsp]
| Web application that uses JSP templates with Jetty

| link:spring-boot-sample-jooq[spring-boot-sample-jooq]
| Stores data using jOOQ

| link:spring-boot-sample-jpa[spring-boot-sample-jpa]
| Uses plain JPA (Hibernate)

| link:spring-boot-sample-jta-atomikos[spring-boot-sample-jta-atomikos]
| JTA transactions with Atomikos

| link:spring-boot-sample-jta-bitronix[spring-boot-sample-jta-bitronix]
| JTA transactions with Bitronix

| link:spring-boot-sample-jta-jndi[spring-boot-sample-jta-jndi]
| JTA transactions using a `TransactionManager` and `DataSource` from JNDI

| link:spring-boot-sample-junit-jupiter[spring-boot-sample-junit-jupiter]
| Demonstrates JUnit Jupiter-based testing

| link:spring-boot-sample-kafka[spring-boot-sample-kafka]
| Consumer and producer using Apache Kafka

| link:spring-boot-sample-liquibase[spring-boot-sample-liquibase]
| Database migrations with Liquibase

| link:spring-boot-sample-logback[spring-boot-sample-logback]
| Demonstrates Spring Boot's custom Logback functionality configured in logback-spring.xml

| link:spring-boot-sample-metrics-dropwizard[spring-boot-sample-metrics-dropwizard]
| Demonstrates support for Dropwizard metrics

| link:spring-boot-sample-metrics-opentsdb[spring-boot-sample-metrics-opentsdb]
| Exports metrics to OpenTSDB

| link:spring-boot-sample-metrics-redis[spring-boot-sample-metrics-redis]
| Exports metrics to Redis

| link:spring-boot-sample-oauth2-client[spring-boot-sample-oauth2-client]
| Configure an OAuth2 login client

| link:spring-boot-sample-reactive-oauth2-client[spring-boot-sample-reactive-oauth2-client]
| Configure a Reactive OAuth2 login client

| link:spring-boot-sample-oauth2-resource-server[spring-boot-sample-oauth2-resource-server]
| Configure an OAuth2 resource server

| link:spring-boot-sample-reactive-oauth2-resource-server[spring-boot-sample-reactive-oauth2-resource-server]
| Configure a Reactive OAuth2 resource server

| link:spring-boot-sample-parent-context[spring-boot-sample-parent-context]
| Application that uses an `ApplicationContext` with a parent

| link:spring-boot-sample-profile[spring-boot-sample-profile]
| Demonstrates some of Spring Framework's `@Profile` capabilities

| link:spring-boot-sample-property-validation[spring-boot-sample-property-validation]
| Demonstrates the usage of `@ConfigurationProperties` with a Spring `Validator`

| link:spring-boot-sample-secure[spring-boot-sample-secure]
| Non-web application that uses Spring Security

| link:spring-boot-sample-servlet[spring-boot-sample-servlet]
| Web application with a "raw" `Servlet` returning plain text content

| link:spring-boot-sample-session[spring-boot-sample-session]
| Web Application that uses Spring Session to manage session data

| link:spring-boot-sample-simple[spring-boot-sample-simple]
| Simple command line application

| link:spring-boot-sample-test[spring-boot-sample-test]
| Demonstrates Spring Boot's testing capabilities

| link:spring-boot-sample-testng[spring-boot-sample-testng]
| Demonstrates TestNG-based testing

| link:spring-boot-sample-tomcat[spring-boot-sample-tomcat]
| Embedded Tomcat

| link:spring-boot-sample-tomcat-jsp[spring-boot-sample-tomcat-jsp]
| Web application that uses JSP templates with Tomcat

| link:spring-boot-sample-tomcat-multi-connectors[spring-boot-sample-tomcat-multi-connectors]
| Web application that uses Tomcat configured with multiple connectors

| link:spring-boot-sample-tomcat-ssl[spring-boot-sample-tomcat-ssl]
| Web application that uses Tomcat configured with SSL

| link:spring-boot-sample-traditional[spring-boot-sample-traditional]
| Traditional WAR packaging  (but also executable using `java -jar`)

| link:spring-boot-sample-undertow[spring-boot-sample-undertow]
| Embedded Undertow

| link:spring-boot-sample-undertow-ssl[spring-boot-sample-undertow-ssl]
| Embedded Undertow configured to use SSL

| link:spring-boot-sample-war[spring-boot-sample-war]
| Web application packaged as a war file

| link:spring-boot-sample-web-freemarker[spring-boot-sample-web-freemarker]
| Web application that uses FreeMarker templates

| link:spring-boot-sample-web-groovy-templates[spring-boot-sample-web-groovy-templates]
| Web application that uses Groovy templates

| link:spring-boot-sample-web-jsp[spring-boot-sample-web-jsp]
| Web application that uses JSP templates

| link:spring-boot-sample-web-method-security[spring-boot-sample-web-method-security]
| Web application with Security configuration enabling global method security

| link:spring-boot-sample-web-mustache[spring-boot-sample-web-mustache]
| Web application that uses Mustache views

| link:spring-boot-sample-web-secure[spring-boot-sample-web-secure]
| Web application with typical Security configuration enabling a login form

| link:spring-boot-sample-web-secure-custom[spring-boot-sample-web-secure-custom]
| Web application with custom Spring Security configuration

| link:spring-boot-sample-web-secure-jdbc[spring-boot-sample-web-secure-jdbc]
| Web application with Spring Security configured to use JDBC authentication

| link:spring-boot-sample-web-static[spring-boot-sample-web-static]
| Web application that serves static files

| link:spring-boot-sample-web-ui[spring-boot-sample-web-ui]
| Web application with a basic UI built using Bootstrap and JQuery

| link:spring-boot-sample-webservices[spring-boot-sample-webservices]
| Simple contract-first SOAP web service with Spring Web Services

| link:spring-boot-sample-websocket-jetty[spring-boot-sample-websocket-jetty]
| WebSocket application that uses Jetty

| link:spring-boot-sample-websocket-tomcat[spring-boot-sample-websocket-tomcat]
| WebSocket application that uses Tomcat

| link:spring-boot-sample-websocket-undertow[spring-boot-sample-websocket-undertow]
| WebSocket application that uses Undertow

| link:spring-boot-sample-xml[spring-boot-sample-xml]
| Example show how Spring Boot can be mixed with traditional XML configuration (we
  generally recommend using Java `@Configuration` whenever possible