spring-boot/spring-boot-samples
Andy Wilkinson 92bb24e365 Avoid synchronizing on this and use an internal monitor instead
Where possible, code that previously synchronized on this (or on the
class in the case of static methods) has been updated to use an
internal monitor object instead. This allows the locking model that's
employed to be an implementation detail rather than part of the
class's API.

Classes that override a synchronized method continue to declare
the overriding method as synchronized. This ensures that locking
is consistent across the superclass and its subclass.

Closes gh-6262
2016-07-01 10:44:23 +01:00
..
spring-boot-sample-activemq Polish "Add activemq starter" contribution 2016-05-26 11:40:24 +02:00
spring-boot-sample-actuator Fixup version numbers following release 2016-05-10 08:04:41 +02:00
spring-boot-sample-actuator-log4j2 Next Development Version 2016-05-10 05:28:34 +00:00
spring-boot-sample-actuator-noweb Next Development Version 2016-05-10 05:28:34 +00:00
spring-boot-sample-actuator-ui Next Development Version 2016-05-10 05:28:34 +00:00
spring-boot-sample-amqp Next Development Version 2016-05-10 05:28:34 +00:00
spring-boot-sample-ant Fixup version numbers following release 2016-05-10 08:04:41 +02:00
spring-boot-sample-aop Next Development Version 2016-05-10 05:28:34 +00:00
spring-boot-sample-atmosphere Next Development Version 2016-05-10 05:28:34 +00:00
spring-boot-sample-batch Polish contribution 2016-06-16 11:33:57 +02:00
spring-boot-sample-cache Fix typos 2016-06-03 07:20:39 -04:00
spring-boot-sample-data-cassandra Merge branch '1.3.x' 2016-05-24 17:25:15 +01:00
spring-boot-sample-data-couchbase Customize Couchbase's socket connect timeout 2016-04-11 18:23:27 +02:00
spring-boot-sample-data-elasticsearch Merge branch '1.3.x' 2016-05-24 17:25:15 +01:00
spring-boot-sample-data-gemfire Next Development Version 2016-05-10 05:28:34 +00:00
spring-boot-sample-data-jpa Merge branch '1.3.x' 2016-06-23 12:59:55 +01:00
spring-boot-sample-data-mongodb Next Development Version 2016-05-10 05:28:34 +00:00
spring-boot-sample-data-neo4j Fix warnings 2016-03-25 12:46:53 -07:00
spring-boot-sample-data-redis Next Development Version 2016-05-10 05:28:34 +00:00
spring-boot-sample-data-rest Avoid exception from dropping non-existent constraint in Data REST sample 2016-05-16 20:27:35 +01:00
spring-boot-sample-data-solr Next Development Version 2016-05-10 05:28:34 +00:00
spring-boot-sample-devtools Next Development Version 2016-05-10 05:28:34 +00:00
spring-boot-sample-flyway Next Development Version 2016-05-10 05:28:34 +00:00
spring-boot-sample-hateoas Next Development Version 2016-05-10 05:28:34 +00:00
spring-boot-sample-hibernate4 Merge branch '1.3.x' 2016-06-23 12:59:55 +01:00
spring-boot-sample-hibernate52 Merge branch '1.3.x' 2016-06-23 12:59:55 +01:00
spring-boot-sample-hornetq Next Development Version 2016-05-10 05:28:34 +00:00
spring-boot-sample-hypermedia Next Development Version 2016-05-10 05:28:34 +00:00
spring-boot-sample-hypermedia-gson Next Development Version 2016-05-10 05:28:34 +00:00
spring-boot-sample-hypermedia-jpa Resume building against Spring Data Hopper snapshots 2016-06-09 15:54:32 +02:00
spring-boot-sample-hypermedia-ui Next Development Version 2016-05-10 05:28:34 +00:00
spring-boot-sample-integration Add JMX support to the Spring Integration starter 2016-05-13 16:33:35 +02:00
spring-boot-sample-jersey Make TestRestTemplate not extend RestTemplate 2016-05-16 12:35:31 -07:00
spring-boot-sample-jersey1 Next Development Version 2016-05-10 05:28:34 +00:00
spring-boot-sample-jetty Make TestRestTemplate not extend RestTemplate 2016-05-16 12:35:31 -07:00
spring-boot-sample-jetty-jsp Polish 2016-06-20 20:13:13 -07:00
spring-boot-sample-jetty-ssl Make TestRestTemplate not extend RestTemplate 2016-05-16 12:35:31 -07:00
spring-boot-sample-jetty8 Allow maximum HTTP header size to be configured when using Jetty 8 2016-06-20 14:12:49 +01:00
spring-boot-sample-jetty8-ssl Make TestRestTemplate not extend RestTemplate 2016-05-16 12:35:31 -07:00
spring-boot-sample-jetty92 Change default version of Jetty to 9.3 2016-06-15 13:58:47 +01:00
spring-boot-sample-jooq Next Development Version 2016-05-10 05:28:34 +00:00
spring-boot-sample-jpa Drop back to Hibernate 5.0.9.Final 2016-06-21 20:09:21 +01:00
spring-boot-sample-jta-atomikos Next Development Version 2016-05-10 05:28:34 +00:00
spring-boot-sample-jta-bitronix Next Development Version 2016-05-10 05:28:34 +00:00
spring-boot-sample-jta-jndi Next Development Version 2016-05-10 05:28:34 +00:00
spring-boot-sample-jta-narayana Polish contribution 2016-04-06 17:05:01 -07:00
spring-boot-sample-liquibase Next Development Version 2016-05-10 05:28:34 +00:00
spring-boot-sample-logback Fixup version numbers following release 2016-05-10 08:04:41 +02:00
spring-boot-sample-metrics-dropwizard Next Development Version 2016-05-10 05:28:34 +00:00
spring-boot-sample-metrics-opentsdb Next Development Version 2016-05-10 05:28:34 +00:00
spring-boot-sample-metrics-redis Next Development Version 2016-05-10 05:28:34 +00:00
spring-boot-sample-parent-context Add JMX support to the Spring Integration starter 2016-05-13 16:33:35 +02:00
spring-boot-sample-profile Fixup version numbers following release 2016-05-10 08:04:41 +02:00
spring-boot-sample-property-validation Next Development Version 2016-05-10 05:28:34 +00:00
spring-boot-sample-secure Next Development Version 2016-05-10 05:28:34 +00:00
spring-boot-sample-secure-oauth2 Next Development Version 2016-05-10 05:28:34 +00:00
spring-boot-sample-secure-oauth2-resource Next Development Version 2016-05-10 05:28:34 +00:00
spring-boot-sample-servlet Next Development Version 2016-05-10 05:28:34 +00:00
spring-boot-sample-session-redis Next Development Version 2016-05-10 05:28:34 +00:00
spring-boot-sample-simple Fixup version numbers following release 2016-05-10 08:04:41 +02:00
spring-boot-sample-test Update spring-boot-sample-test REST code 2016-05-31 10:18:07 -07:00
spring-boot-sample-testng Next Development Version 2016-05-10 05:28:34 +00:00
spring-boot-sample-tomcat Make TestRestTemplate not extend RestTemplate 2016-05-16 12:35:31 -07:00
spring-boot-sample-tomcat-jsp Upgrade to Tomcat 8.5.3 2016-06-20 13:27:47 +01:00
spring-boot-sample-tomcat-multi-connectors Next Development Version 2016-05-10 05:28:34 +00:00
spring-boot-sample-tomcat-ssl Upgrade to Tomcat 8.5.3 2016-06-20 13:27:47 +01:00
spring-boot-sample-tomcat7-jsp Next Development Version 2016-05-10 05:28:34 +00:00
spring-boot-sample-tomcat7-ssl Upgrade to Tomcat 8.5.3 2016-06-20 13:27:47 +01:00
spring-boot-sample-tomcat80-ssl Fix artifact id of new Tomcat 8.0 SSL sample 2016-06-20 13:50:55 +01:00
spring-boot-sample-traditional Next Development Version 2016-05-10 05:28:34 +00:00
spring-boot-sample-undertow Make TestRestTemplate not extend RestTemplate 2016-05-16 12:35:31 -07:00
spring-boot-sample-undertow-ssl Make TestRestTemplate not extend RestTemplate 2016-05-16 12:35:31 -07:00
spring-boot-sample-velocity Next Development Version 2016-05-10 05:28:34 +00:00
spring-boot-sample-war Next Development Version 2016-05-10 05:28:34 +00:00
spring-boot-sample-web-freemarker Next Development Version 2016-05-10 05:28:34 +00:00
spring-boot-sample-web-groovy-templates Merge branch '1.3.x' 2016-06-23 12:59:55 +01:00
spring-boot-sample-web-jsp Next Development Version 2016-05-10 05:28:34 +00:00
spring-boot-sample-web-method-security Next Development Version 2016-05-10 05:28:34 +00:00
spring-boot-sample-web-mustache Next Development Version 2016-05-10 05:28:34 +00:00
spring-boot-sample-web-secure Next Development Version 2016-05-10 05:28:34 +00:00
spring-boot-sample-web-secure-custom Next Development Version 2016-05-10 05:28:34 +00:00
spring-boot-sample-web-secure-github Next Development Version 2016-05-10 05:28:34 +00:00
spring-boot-sample-web-secure-jdbc Next Development Version 2016-05-10 05:28:34 +00:00
spring-boot-sample-web-static Fixup version numbers following release 2016-05-10 08:04:41 +02:00
spring-boot-sample-web-ui Merge branch '1.3.x' 2016-06-23 12:59:55 +01:00
spring-boot-sample-web-velocity Next Development Version 2016-05-10 05:28:34 +00:00
spring-boot-sample-webservices Move @LocalServerPort annotation 2016-04-28 12:45:15 -07:00
spring-boot-sample-websocket-jetty Avoid synchronizing on this and use an internal monitor instead 2016-07-01 10:44:23 +01:00
spring-boot-sample-websocket-tomcat Avoid synchronizing on this and use an internal monitor instead 2016-07-01 10:44:23 +01:00
spring-boot-sample-websocket-undertow Avoid synchronizing on this and use an internal monitor instead 2016-07-01 10:44:23 +01:00
spring-boot-sample-xml Next Development Version 2016-05-10 05:28:34 +00:00
README.adoc Drop back to Hibernate 5.0.9.Final 2016-06-21 20:09:21 +01:00
pom.xml Drop back to Hibernate 5.0.9.Final 2016-06-21 20:09:21 +01:00

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-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-gemfire[spring-boot-sample-data-gemfire]
| Stores data using Spring Data GemFire

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

| 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-hibernate4[spring-boot-sample-hibernate4]
| Demonstrates how to use Hibernate 4

| link:spring-boot-sample-hibernate4[spring-boot-sample-hibernate52]
| Demonstrates how to use Hibernate 5.2

| link:spring-boot-sample-hornetq[spring-boot-sample-hornetq]
| Message-oriented application using HornetQ

| link:spring-boot-sample-hypermedia[spring-boot-sample-hypermedia]
| Demonstrates Actuator's hypermedia support, including HAL Browser

| link:spring-boot-sample-hypermedia-gson[spring-boot-sample-hypermedia-gson]
| Demonstrates Actuator's hypermedia support using GSON in place of Jackson

| link:spring-boot-sample-hypermedia-jpa[spring-boot-sample-hypermedia-jpa]
| Demonstrates Actuator's hypermedia support alongside Spring Data JPA and Spring Data
  REST

| link:spring-boot-sample-hypermedia-ui[spring-boot-sample-hypermedia-ui]
| Demonstrates Actuator's hypermedia support alongside a static web UI

| 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 2

| link:spring-boot-sample-jersey1[spring-boot-sample-jersey1]
| 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-jetty8[spring-boot-sample-jetty8]
| Embedded Jetty 8

| link:spring-boot-sample-jetty8-ssl[spring-boot-sample-jetty8-ssl]
| Embedded Jetty 8 SSL

| link:spring-boot-sample-jetty92[spring-boot-sample-jetty92]
| Embedded Jetty 9.2

| 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-jta-narayana[spring-boot-sample-jta-narayana]
| JTA transactions with Narayana

| 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-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-secure-oauth2[spring-boot-sample-secure-oauth2]
| RESTful service secured using OAuth2

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

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

| link:spring-boot-sample-session-redis[spring-boot-sample-session-redis]
| Web Application that uses Spring Session to store session data in Redis

| 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-tomcat7-jsp[spring-boot-sample-tomcat7-jsp]
| Web application that uses JSP templates with Tomcat 7

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

| link:spring-boot-sample-tomcat80-ssl[spring-boot-sample-tomcat80-ssl]
| Web application that uses Tomcat 8.0 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-velocity[spring-boot-sample-velocity]
| Non-web application that uses Velocity templates

| 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-github[spring-boot-sample-web-secure-github]
| Web application with Spring Security configured to authenticate with GitHub using OAuth2

| 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-web-velocity[spring-boot-sample-web-velocity]
| Web application that uses Velocity templates

| 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