spring-boot/spring-boot-samples
Phillip Webb 1d39feffea Overhaul actuator endpoint code
Refactor several areas of the actuator endpoint code in order to make
future extensions easier. The primary goal is to introduce the concept
of an `ExposableEndpoint` that has technology specific subclasses and
can carry additional data for filters to use. Many other changes have
been made along the way including:

* A new EndpointSupplier interface that allows cleaner separation of
  supplying vs discovering endpoints. This allows cleaner class names
  and allows for better auto-configuration since a user can choose to
  provide their own supplier entirely.

* A `DiscoveredEndpoint` interface that allows the `EndpointFilter`
  to be greatly simplified. A filter now doesn't need to know about
  discovery concerns unless absolutely necessary.

* Improved naming and package structure. Many technology specific
  concerns are now grouped in a better way. Related concerns are
  co-located and concepts from one area no longer leakage into another.

* Simplified `HandlerMapping` implementations. Many common concerns have
  been pulled up helping to create simpler subclasses.

* Simplified JMX adapters. Many of the intermediary `Info` classes have
  been removed. The `DiscoveredJmxOperation` is now responsible for
  mapping methods to operations.

* A specific @`HealthEndpointCloudFoundryExtension` for Cloud Foundry.
  The extension logic used to create a "full" health endpoint extension
  has been made explicit.

Fixes gh-11428
Fixes gh-11581
2018-01-19 20:44:24 -08:00
..
spring-boot-sample-activemq Polish 2017-12-12 11:57:30 +01:00
spring-boot-sample-actuator Improve context hierarchy handling in Actuator endpoints 2018-01-16 09:53:52 +00:00
spring-boot-sample-actuator-custom-security Overhaul actuator endpoint code 2018-01-19 20:44:24 -08:00
spring-boot-sample-actuator-log4j2 Make default username and password configurable 2017-12-11 15:15:47 -08:00
spring-boot-sample-actuator-noweb Next Development Version 2017-11-28 09:55:46 +00:00
spring-boot-sample-actuator-ui Create DynamicRegistrationBean 2018-01-08 22:05:00 -08:00
spring-boot-sample-amqp Next Development Version 2017-11-28 09:55:46 +00:00
spring-boot-sample-animated-banner Add support for animated GIFs 2017-12-13 14:58:11 -08:00
spring-boot-sample-ant Fixup version numbers following release 2017-11-28 12:28:33 +01:00
spring-boot-sample-aop Fix sample POMs 2017-10-04 16:34:39 -07:00
spring-boot-sample-atmosphere Polish 2017-12-12 11:57:30 +01:00
spring-boot-sample-batch Polish 2017-12-12 11:57:30 +01:00
spring-boot-sample-cache Next Development Version 2017-11-28 09:55:46 +00:00
spring-boot-sample-custom-layout Next Development Version 2017-11-28 09:55:46 +00:00
spring-boot-sample-data-cassandra Polish 2017-12-12 11:57:30 +01:00
spring-boot-sample-data-couchbase Polish 2017-12-12 11:57:30 +01:00
spring-boot-sample-data-elasticsearch Polish 2017-12-12 11:57:30 +01:00
spring-boot-sample-data-jpa Update copyright header 2018-01-05 10:30:43 +01:00
spring-boot-sample-data-ldap Polish 2017-12-12 11:57:30 +01:00
spring-boot-sample-data-mongodb Polish 2017-12-12 11:57:30 +01:00
spring-boot-sample-data-neo4j Polish 2017-12-12 11:57:30 +01:00
spring-boot-sample-data-redis Polish 2017-12-12 11:57:30 +01:00
spring-boot-sample-data-rest Next Development Version 2017-11-28 09:55:46 +00:00
spring-boot-sample-data-solr Next Development Version 2017-11-28 09:55:46 +00:00
spring-boot-sample-devtools Polish 2017-12-12 11:57:30 +01:00
spring-boot-sample-flyway Polish 2017-12-12 11:57:30 +01:00
spring-boot-sample-hateoas Polish 2017-12-12 11:57:30 +01:00
spring-boot-sample-integration Polish 2017-12-13 15:43:30 +01:00
spring-boot-sample-jersey Next Development Version 2017-11-28 09:55:46 +00:00
spring-boot-sample-jersey1 Fix sample POMs 2017-10-04 16:34:39 -07:00
spring-boot-sample-jetty Polish 2017-12-12 11:57:30 +01:00
spring-boot-sample-jetty-jsp Polish 2017-12-12 11:57:30 +01:00
spring-boot-sample-jetty-ssl Polish 2017-12-12 11:57:30 +01:00
spring-boot-sample-jooq Polish 2017-12-12 11:57:30 +01:00
spring-boot-sample-jpa Remove Web depedency from Freemarker starter 2017-12-03 11:23:43 -08:00
spring-boot-sample-jta-atomikos Remove "final" keywords 2017-12-08 11:13:07 -08:00
spring-boot-sample-jta-bitronix Polish 2017-12-12 11:57:30 +01:00
spring-boot-sample-jta-jndi Next Development Version 2017-11-28 09:55:46 +00:00
spring-boot-sample-jta-narayana Remove "final" keywords 2017-12-08 11:13:07 -08:00
spring-boot-sample-junit-jupiter Fix sample POMs 2017-10-04 16:34:39 -07:00
spring-boot-sample-liquibase Next Development Version 2017-11-28 09:55:46 +00:00
spring-boot-sample-logback Fixup version numbers following release 2017-11-28 12:28:33 +01:00
spring-boot-sample-oauth2-client Polish 2017-12-12 11:57:30 +01:00
spring-boot-sample-parent-context Polish 2017-12-12 11:57:30 +01:00
spring-boot-sample-profile Fixup version numbers following release 2017-11-28 12:28:33 +01:00
spring-boot-sample-property-validation Polish 2017-11-01 23:14:52 -07:00
spring-boot-sample-quartz Fix race condition in SampleQuartzApplicationTests 2018-01-17 20:56:42 +00:00
spring-boot-sample-secure Polish 2017-12-12 11:57:30 +01:00
spring-boot-sample-secure-webflux Polish 2018-01-19 20:44:18 -08:00
spring-boot-sample-servlet Polish 2017-12-12 11:57:30 +01:00
spring-boot-sample-session Polish 2018-01-18 23:21:51 -08:00
spring-boot-sample-session-webflux Move server.session.* to server.servlet.session.* 2018-01-15 17:50:32 +01:00
spring-boot-sample-simple Polish 2017-12-12 11:57:30 +01:00
spring-boot-sample-test Polish 2017-12-12 11:57:30 +01:00
spring-boot-sample-test-nomockito Merge branch '1.5.x' 2018-01-05 12:06:01 +00:00
spring-boot-sample-testng Polish 2017-12-12 11:57:30 +01:00
spring-boot-sample-tomcat Polish 2017-12-12 11:57:30 +01:00
spring-boot-sample-tomcat-jsp Polish 2017-12-12 11:57:30 +01:00
spring-boot-sample-tomcat-multi-connectors Polish 2017-12-12 11:57:30 +01:00
spring-boot-sample-tomcat-ssl Polish 2017-12-12 11:57:30 +01:00
spring-boot-sample-traditional Polish 2017-12-12 11:57:30 +01:00
spring-boot-sample-undertow Polish 2017-12-12 11:57:30 +01:00
spring-boot-sample-undertow-ssl Next Development Version 2017-11-28 09:55:46 +00:00
spring-boot-sample-war Next Development Version 2017-11-28 09:55:46 +00:00
spring-boot-sample-web-freemarker Polish 2017-12-12 11:57:30 +01:00
spring-boot-sample-web-groovy-templates Polish 2017-12-12 11:57:30 +01:00
spring-boot-sample-web-jsp Polish 2017-12-12 11:57:30 +01:00
spring-boot-sample-web-method-security Polish 2018-01-18 23:21:51 -08:00
spring-boot-sample-web-mustache Polish 2017-12-12 11:57:30 +01:00
spring-boot-sample-web-secure Polish 2018-01-19 20:44:18 -08:00
spring-boot-sample-web-secure-custom Polish 2017-12-12 11:57:30 +01:00
spring-boot-sample-web-secure-jdbc Polish 2017-12-12 11:57:30 +01:00
spring-boot-sample-web-static Polish 2017-12-12 11:57:30 +01:00
spring-boot-sample-web-ui Polish 2017-12-12 11:57:30 +01:00
spring-boot-sample-webflux Move /application to /actuator 2017-11-22 23:18:22 -08:00
spring-boot-sample-webservices Next Development Version 2017-11-28 09:55:46 +00:00
spring-boot-sample-websocket-jetty Polish 2017-12-12 11:57:30 +01:00
spring-boot-sample-websocket-tomcat Polish 2017-12-12 11:57:30 +01:00
spring-boot-sample-websocket-undertow Polish 2017-12-12 11:57:30 +01:00
spring-boot-sample-xml Next Development Version 2017-11-28 09:55:46 +00:00
pom.xml Add support for animated GIFs 2017-12-13 14:58:11 -08:00
README.adoc Remove Spring Security OAuth Auto-Configuration 2017-09-21 10:33:16 +01:00

= 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-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 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-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-junit-jupiter[spring-boot-sample-junit-jupiter]
| Demonstrates JUnit Jupiter-based testing

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