Rename samples to smoke tests

Closes gh-17197
This commit is contained in:
Madhura Bhave 2019-06-25 10:11:56 -07:00
parent 0b720b99b2
commit d5c0009c6e
743 changed files with 1440 additions and 2134 deletions

View File

@ -125,7 +125,7 @@ find the process a little slower than the standard build.
[TIP]
====
If you want to run a build without the samples and integration tests, building the
If you want to run a build without the smoke tests and integration tests, building the
`spring-boot-project` module is enough. You can cd there and run the same command, or you
can run this from the top-level directory:
@ -196,7 +196,7 @@ changes just won't be automatically formatted.
With the requisite eclipse plugins installed you can select
`import existing maven projects` from the `file` menu to import the code. You will
need to import the root `spring-boot` pom and the `spring-boot-samples` pom separately.
need to import the root `spring-boot` pom and the `spring-boot-smoke-tests` pom separately.
@ -241,11 +241,11 @@ Maven is well supported by most Java IDEs. Refer to your vendor documentation.
== Integration Tests
The sample applications are used as integration tests during the build (when you
`./mvnw install`). Due to the fact that they make use of the `spring-boot-maven-plugin`
The smoke tests run as part of the build when you `./mvnw install`.
Due to the fact that they make use of the `spring-boot-maven-plugin`
they cannot be called directly, and so instead are launched via the
`maven-invoker-plugin`. If you encounter build failures running the integration tests,
check the `build.log` file in the appropriate sample directory.
check the `build.log` file in the appropriate smoke test directory.
== Cloning the git repository on Windows

View File

@ -251,9 +251,6 @@ Groovy samples for use with the command line application are available in
link:spring-boot-project/spring-boot-cli/samples[spring-boot-cli/samples]. To run the CLI samples type
`spring run <sample>.groovy` from samples directory.
Java samples are available in link:spring-boot-samples[spring-boot-samples] and should
be built with maven and run by invoking `java -jar target/<sample>.jar`.
== Guides

View File

@ -5,5 +5,5 @@ source $(dirname $0)/common.sh
repository=$(pwd)/distribution-repository
pushd git-repo > /dev/null
run_maven -f spring-boot-samples/pom.xml clean install -U -Dfull -Drepository=file://${repository}
run_maven -f spring-boot-smoke-tests/pom.xml clean install -U -Dfull -Drepository=file://${repository}
popd > /dev/null

View File

@ -36,7 +36,7 @@ git commit -m"Release v$stageVersion" > /dev/null
git tag -a "v$stageVersion" -m"Release v$stageVersion" > /dev/null
run_maven -f spring-boot-project/pom.xml clean deploy -U -Dfull -DaltDeploymentRepository=distribution::default::file://${repository}
run_maven -f spring-boot-samples/pom.xml clean install -U -Dfull -Drepository=file://${repository}
run_maven -f spring-boot-smoke-tests/pom.xml clean install -U -Dfull -Drepository=file://${repository}
run_maven -f spring-boot-tests/spring-boot-integration-tests/pom.xml clean install -U -Dfull -Drepository=file://${repository}
run_maven -f spring-boot-tests/spring-boot-deployment-tests/pom.xml clean install -U -Dfull -Drepository=file://${repository}

View File

@ -127,10 +127,10 @@
pattern="spring-boot-starter(s|-.*)"/>
</workingSet>
<workingSet
name="spring-boot-samples">
name="spring-boot-smoke-tests">
<predicate
xsi:type="predicates:NamePredicate"
pattern="spring-boot-sample(s|-.*)"/>
pattern="spring-boot-smoke-test(s|-.*)"/>
</workingSet>
<workingSet
name="spring-boot-tests">

View File

@ -106,8 +106,8 @@
</build>
<modules>
<module>spring-boot-project</module>
<!-- Samples are built via the invoker plugin -->
<module>spring-boot-samples-invoker</module>
<!-- Smoke tests are built via the invoker plugin -->
<module>spring-boot-smoke-tests-invoker</module>
<module>spring-boot-tests</module>
</modules>
</profile>
@ -121,7 +121,7 @@
</activation>
<modules>
<module>spring-boot-project</module>
<module>spring-boot-samples</module>
<module>spring-boot-smoke-tests</module>
<module>spring-boot-tests</module>
</modules>
</profile>

View File

@ -557,7 +557,7 @@ editor for this example.
[[getting-started-first-application-dependencies]]
=== Adding Classpath Dependencies
Spring Boot provides a number of "`Starters`" that let you add jars to your classpath.
Our sample application has already used `spring-boot-starter-parent` in the `parent`
Our applications for smoke tests use the `spring-boot-starter-parent` in the `parent`
section of the POM. The `spring-boot-starter-parent` is a special starter that provides
useful Maven defaults. It also provides a
<<using-spring-boot.adoc#using-boot-dependency-management,`dependency-management`>>
@ -819,11 +819,6 @@ https://spring.io/guides/[getting started] guides that solve specific "`How do I
with Spring?`" problems. We also have Spring Boot-specific
"`<<howto.adoc#howto, How-to>>`" reference documentation.
The https://github.com/{github-repo}[Spring Boot repository] also has a
{github-code}/spring-boot-samples[bunch of samples] you can run. The samples are
independent of the rest of the code (that is, you do not need to build the rest to run or
use the samples).
Otherwise, the next logical step is to read _<<using-spring-boot.adoc#using-boot>>_. If
you are really impatient, you could also jump ahead and read about
_<<spring-boot-features.adoc#boot-features, Spring Boot features>>_.

View File

@ -699,9 +699,7 @@ a plain HTTP connector at port 8080. Spring Boot does not support the configurat
both an HTTP connector and an HTTPS connector through `application.properties`. If you
want to have both, you need to configure one of them programmatically. We recommend using
`application.properties` to configure HTTPS, as the HTTP connector is the easier of the
two to configure programmatically. See the
{github-code}/spring-boot-samples/spring-boot-sample-tomcat-multi-connectors[`spring-boot-sample-tomcat-multi-connectors`]
sample project for an example.
two to configure programmatically.
@ -1668,9 +1666,7 @@ And the following example shows one way to set up the starters in Gradle:
NOTE: The Log4j starters gather together the dependencies for common logging
requirements (such as having Tomcat use `java.util.logging` but configuring the
output using Log4j 2). See the
{github-code}/spring-boot-samples/spring-boot-sample-actuator-log4j2[Actuator Log4j 2]
samples for more detail and to see it in action.
output using Log4j 2).
NOTE: To ensure that debug logging performed using `java.util.logging` is routed into
Log4j 2, configure its https://logging.apache.org/log4j/2.0/log4j-jul/index.html[JDK
@ -1895,9 +1891,7 @@ the same package (or a sub-package) of your `@EnableAutoConfiguration` class.
For many applications, all you need is to put the right Spring Data dependencies on
your classpath (there is a `spring-boot-starter-data-jpa` for JPA and a
`spring-boot-starter-data-mongodb` for Mongodb) and create some repository interfaces to
handle your `@Entity` objects. Examples are in the
{github-code}/spring-boot-samples/spring-boot-sample-data-jpa[JPA sample] and the
{github-code}/spring-boot-samples/spring-boot-sample-data-mongodb[Mongodb sample].
handle your `@Entity` objects.
Spring Boot tries to guess the location of your `@Repository` definitions, based on the
`@EnableAutoConfiguration` it finds. To get more control, use the `@EnableJpaRepositories`
@ -2356,8 +2350,6 @@ is sufficient to cause Flyway to use its own `DataSource`. If any of the three
properties has not be set, the value of its equivalent `spring.datasource` property will
be used.
There is a {github-code}/spring-boot-samples/spring-boot-sample-flyway[Flyway sample] so
that you can see how to set things up.
You can also use Flyway to provide data for specific scenarios. For example, you can
place test-specific migrations in `src/test/resources` and they are run only when your
@ -2399,9 +2391,6 @@ See
{sc-spring-boot-autoconfigure}/liquibase/LiquibaseProperties.{sc-ext}[`LiquibaseProperties`]
for details about available settings such as contexts, the default schema, and others.
There is a {github-code}/spring-boot-samples/spring-boot-sample-liquibase[Liquibase
sample] so that you can see how to set things up.
[[howto-messaging]]
@ -3049,22 +3038,6 @@ The following example shows how to build an executable archive with Ant:
</target>
----
The {github-code}/spring-boot-samples/spring-boot-sample-ant[Ant Sample] has a
`build.xml` file with a `manual` task that should work if you run it with the following
command:
[indent=0,subs="verbatim,quotes,attributes"]
----
$ ant -lib <folder containing ivy-2.2.jar> clean manual
----
Then you can run the application with the following command:
[indent=0,subs="verbatim,quotes,attributes"]
----
$ java -jar target/*.jar
----
[[howto-traditional-deployment]]
@ -3166,11 +3139,6 @@ file with the provided dependencies packaged in a `lib-provided` directory. This
that, in addition to being deployable to a servlet container, you can also run your
application by using `java -jar` on the command line.
TIP: Take a look at Spring Boot's sample applications for a
{github-code}/spring-boot-samples/spring-boot-sample-traditional/pom.xml[Maven-based
example] of the previously described configuration.
[[howto-convert-an-existing-application-to-spring-boot]]

View File

@ -1586,9 +1586,7 @@ You can also add a custom Spring `Validator` by creating a bean definition calle
configuration properties validator is created very early in the application's lifecycle,
and declaring the `@Bean` method as static lets the bean be created without having to
instantiate the `@Configuration` class. Doing so avoids any problems that may be caused
by early instantiation. There is a
{github-code}/spring-boot-samples/spring-boot-sample-property-validation[property
validation sample] that shows how to set things up.
by early instantiation.
TIP: The `spring-boot-actuator` module includes an endpoint that exposes all
`@ConfigurationProperties` beans. Point your web browser to
@ -3212,9 +3210,6 @@ an `@Order`, which you can set with `spring.jersey.filter.order`. Both the servl
the filter registrations can be given init parameters by using `spring.jersey.init.*` to
specify a map of properties.
There is a {github-code}/spring-boot-samples/spring-boot-sample-jersey[Jersey sample] so
that you can see how to set things up.
[[boot-features-embedded-container]]
@ -3422,9 +3417,6 @@ packaged as an executable archive), there are some limitations in the JSP suppor
<<boot-features-error-handling-custom-error-pages,Custom error pages>> should be used
instead.
There is a {github-code}/spring-boot-samples/spring-boot-sample-web-jsp[JSP sample] so
that you can see how to set things up.
[[boot-features-reactive-server]]
@ -3646,8 +3638,6 @@ so does not disable the `UserDetailsService` configuration or Actuator's securit
To also switch off the `UserDetailsService` configuration, you can add a bean of type
`UserDetailsService`, `AuthenticationProvider`, or `AuthenticationManager`.
There are several secure applications in the {github-code}/spring-boot-samples/[Spring
Boot samples] to get you started with common use cases.
Access rules can be overridden by adding a custom `WebSecurityConfigurerAdapter`. Spring
Boot provides convenience methods that can be used to override access rules for actuator

View File

@ -1,244 +0,0 @@
= 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

View File

@ -1,250 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>${revision}</version>
<relativePath>../spring-boot-project/spring-boot-starters/spring-boot-starter-parent</relativePath>
</parent>
<artifactId>spring-boot-samples</artifactId>
<packaging>pom</packaging>
<name>Spring Boot Samples</name>
<description>Spring Boot Samples</description>
<properties>
<main.basedir>${basedir}/..</main.basedir>
<java.version>1.8</java.version>
<disable.checks>false</disable.checks>
</properties>
<modules>
<module>spring-boot-sample-ant</module>
<module>spring-boot-sample-activemq</module>
<module>spring-boot-sample-actuator</module>
<module>spring-boot-sample-actuator-log4j2</module>
<module>spring-boot-sample-actuator-noweb</module>
<module>spring-boot-sample-actuator-ui</module>
<module>spring-boot-sample-actuator-custom-security</module>
<module>spring-boot-sample-amqp</module>
<module>spring-boot-sample-animated-banner</module>
<module>spring-boot-sample-aop</module>
<module>spring-boot-sample-atmosphere</module>
<module>spring-boot-sample-batch</module>
<module>spring-boot-sample-cache</module>
<module>spring-boot-sample-custom-layout</module>
<module>spring-boot-sample-data-cassandra</module>
<module>spring-boot-sample-data-couchbase</module>
<module>spring-boot-sample-data-elasticsearch</module>
<module>spring-boot-sample-data-jdbc</module>
<module>spring-boot-sample-data-jpa</module>
<module>spring-boot-sample-data-ldap</module>
<module>spring-boot-sample-data-mongodb</module>
<module>spring-boot-sample-data-neo4j</module>
<module>spring-boot-sample-data-redis</module>
<module>spring-boot-sample-data-rest</module>
<module>spring-boot-sample-data-solr</module>
<module>spring-boot-sample-devtools</module>
<module>spring-boot-sample-flyway</module>
<module>spring-boot-sample-hateoas</module>
<module>spring-boot-sample-integration</module>
<module>spring-boot-sample-jersey</module>
<module>spring-boot-sample-jetty</module>
<module>spring-boot-sample-jetty-jsp</module>
<module>spring-boot-sample-jetty-ssl</module>
<module>spring-boot-sample-jooq</module>
<module>spring-boot-sample-jpa</module>
<module>spring-boot-sample-jta-atomikos</module>
<module>spring-boot-sample-jta-bitronix</module>
<module>spring-boot-sample-jta-jndi</module>
<module>spring-boot-sample-junit-jupiter</module>
<module>spring-boot-sample-junit-vintage</module>
<module>spring-boot-sample-kafka</module>
<module>spring-boot-sample-liquibase</module>
<module>spring-boot-sample-logback</module>
<module>spring-boot-sample-oauth2-client</module>
<module>spring-boot-sample-oauth2-resource-server</module>
<module>spring-boot-sample-parent-context</module>
<module>spring-boot-sample-profile</module>
<module>spring-boot-sample-property-validation</module>
<module>spring-boot-sample-quartz</module>
<module>spring-boot-sample-reactive-oauth2-client</module>
<module>spring-boot-sample-reactive-oauth2-resource-server</module>
<module>spring-boot-sample-secure</module>
<module>spring-boot-sample-secure-webflux</module>
<module>spring-boot-sample-servlet</module>
<module>spring-boot-sample-session</module>
<module>spring-boot-sample-session-webflux</module>
<module>spring-boot-sample-simple</module>
<module>spring-boot-sample-test</module>
<module>spring-boot-sample-test-nomockito</module>
<module>spring-boot-sample-testng</module>
<module>spring-boot-sample-tomcat</module>
<module>spring-boot-sample-tomcat-jsp</module>
<module>spring-boot-sample-tomcat-ssl</module>
<module>spring-boot-sample-tomcat-multi-connectors</module>
<module>spring-boot-sample-traditional</module>
<module>spring-boot-sample-undertow</module>
<module>spring-boot-sample-undertow-ssl</module>
<module>spring-boot-sample-war</module>
<module>spring-boot-sample-web-freemarker</module>
<module>spring-boot-sample-web-groovy-templates</module>
<module>spring-boot-sample-web-jsp</module>
<module>spring-boot-sample-web-method-security</module>
<module>spring-boot-sample-web-mustache</module>
<module>spring-boot-sample-web-secure</module>
<module>spring-boot-sample-web-secure-custom</module>
<module>spring-boot-sample-web-secure-jdbc</module>
<module>spring-boot-sample-web-static</module>
<module>spring-boot-sample-web-ui</module>
<module>spring-boot-sample-webflux</module>
<module>spring-boot-sample-websocket-jetty</module>
<module>spring-boot-sample-websocket-tomcat</module>
<module>spring-boot-sample-websocket-undertow</module>
<module>spring-boot-sample-webservices</module>
<module>spring-boot-sample-xml</module>
</modules>
<!-- No dependencies - otherwise the samples won't work if you change the
parent -->
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>flatten-maven-plugin</artifactId>
<inherited>true</inherited>
<executions>
<execution>
<id>flatten</id>
<phase>process-resources</phase>
<goals>
<goal>flatten</goal>
</goals>
<configuration>
<updatePomFile>true</updatePomFile>
<flattenMode>oss</flattenMode>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-enforcer-plugin
</artifactId>
<versionRange>
[1.3.1,)
</versionRange>
<goals>
<goal>enforce</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
<pluginExecution>
<pluginExecutionFilter>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-maven-plugin
</artifactId>
<versionRange>
[1.4.0.BUILD-SNAPSHOT,)
</versionRange>
<goals>
<goal>build-info</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<includes>
<include>**/*Tests.java</include>
</includes>
<excludes>
<exclude>**/Abstract*.java</exclude>
</excludes>
<systemPropertyVariables>
<java.security.egd>file:/dev/./urandom</java.security.egd>
<java.awt.headless>true</java.awt.headless>
</systemPropertyVariables>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<executions>
<execution>
<id>enforce-rules</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<bannedDependencies>
<excludes>
<exclude>commons-logging:*:*</exclude>
</excludes>
<searchTransitive>true</searchTransitive>
</bannedDependencies>
</rules>
<fail>true</fail>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
<inherited>true</inherited>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>fast</id>
<activation>
<property>
<name>fast</name>
</property>
</activation>
<properties>
<disable.checks>true</disable.checks>
</properties>
</profile>
</profiles>
</project>

View File

@ -1,126 +0,0 @@
= Spring Boot Cache Sample
This sample demonstrates the caching auto-configuration support. Spring's caching
abstraction is supported by many caching libraries, including:
* Any compliant `JSR-107` (JCache) provider
* `EhCache`
* `Hazelcast`
* `Infinispan`
* `Couchbase`
* `Redis`
* `Caffeine`
* Simple provider based on `ConcurrentHashMap`
* Generic provider based on `org.springframework.Cache` bean definition(s)
The sample defines a simple `CountryService` that caches countries by ISO code. When
the application starts a client invokes the service with a random code every 500ms.
You can look at the `/metrics` endpoint to review the cache statistics if your chosen
caching provider is supported.
== Using the JSR-107 annotations
The sample uses Spring's cache annotation. If you want to use the JSR-107 annotations
instead, simply add the `javax.cache:cache-api` dependency to the project. No further
configuration is necessary.
NOTE: You can use the JSR-107 annotations with _any_ cache provider; a JSR-107
compliant cache provider is not necessary.
== Using a different cache provider
Initially, the project does not define any caching library so the abstraction works
on simple `ConcurrentHashMap`-based caches. You can try out your favorite caching
library as explained below.
=== JCache (JSR-107)
If you want to configure your cache infrastructure via the standard, you need a
compliant implementation and the JSR-107 api. You first need to add
`javax.cache:cache-api` to your project. Then you could try the following:
* `EhCache 3`: add `org.ehcache:ehcache`
* `Hazelcast`: add `com.hazelcast:hazelcast`
* `Infinispan`: add `org.infinispan:infinispan-jcache`
TIP: Run sample cache application using JCache and EhCache3 by uncommenting the
`spring.cache.jcache.config` property and `$mvn spring-boot:run -Pehcache`.
TIP: Refer to the documentation of the JSR-107 implementation you want to use: certain
cache providers do not create a default cache on-the-fly if it does not exist so you might
need to update the sample to create the caches on startup or specify the location to the
provider-specific file via the `spring.cache.jcache.config` property.
NOTE: Any other JSR-107 compliant provider is also supported but Spring Boot may not
offer a dependency management entry for it. You will have to add it with the version
of the library that you want to use.
=== EhCache 2.x
Simply add the `net.sf.ehcache:ehcache` dependency to the project. Since there is a
default `ehcache.xml` configuration file at the root of the classpath,
it is automatically used to configure the underlying `CacheManager`.
Note that EhCache 3 uses a different format and doesn't default to `ehcache.xml`
anymore. Check https://www.ehcache.org/documentation/3.0/xml.html[the documentation]
for more details.
TIP: Run sample cache application using EhCache with
`$mvn spring-boot:run -Pehcache2`.
=== Hazelcast
Both `com.hazelcast:hazelcast` and `com.hazelcast:hazelcast-spring` should be added
to the project to enable support for Hazelcast. Since there is a default
`hazelcast.xml` configuration file at the root of the classpath, it is used to
automatically configure the underlying `HazelcastInstance`.
TIP: Run sample cache application using Hazelcast with
`$mvn spring-boot:run -Phazelcast`.
=== Infinispan
Add the `org.infinispan:infinispan-spring4-embedded` dependency to enable support for
Infinispan. There is no default location that Infinispan uses to look for a config
file so this sample is configured to use the provider `infinispan.xml` configuration
file specified via the `spring.cache.infinispan.config` property.
TIP: Run sample cache application using Infinispan with
`$mvn spring-boot:run -Pinfinispan`.
NOTE: If you want to use the client/server mode or if you need more options, Infinispan
provides an official Spring Boot starter, check
https://github.com/infinispan/infinispan-spring-boot[the documentation] for more details.
=== Couchbase
Add the `java-client` and `couchbase-spring-cache` dependencies and make sure that
you have setup at least a `spring.couchbase.bootstrap-hosts` property.
TIP: Run sample cache application using Couchbase with
`$mvn spring-boot:run -Pcouchbase`.
=== Redis
Add the `spring-boot-starter-data-redis` and make sure it is configured properly (by
default, a redis instance with the default settings is expected on your local box).
TIP: Run sample cache application using Redis with
`$mvn spring-boot:run -Predis`.
=== Caffeine
Simply add the `com.github.ben-manes.caffeine:caffeine` dependency to enable support
for Caffeine. You can customize how caches are created in different ways, see
`application.properties` for an example and the documentation for more details.
TIP: Run sample cache application using Caffeine with
`$mvn spring-boot:run -Pcaffeine`.

View File

@ -1,35 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<settings>
<profiles>
<profile>
<id>it-repo</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<repositories>
<repository>
<id>local.central</id>
<url>@localRepositoryUrl@</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>local.central</id>
<url>@localRepositoryUrl@</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
</settings>

View File

@ -1,12 +0,0 @@
= Spring Boot Sample Data Cassandra
To run the project, need to run below `cql` commands on Cassandra.
== Keyspace Creation in Cassandra
[source,indent=0]
----
CREATE KEYSPACE mykeyspace WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 1 };
----
== Table Creation in Cassandra
Run `cql` using the link:src/test/resources/setup.cql[setup script] located in resources folder.

View File

@ -1,27 +0,0 @@
= Spring Boot Couchbase Sample
This sample demonstrates how you can store a simple document using Spring Data Couchbase.
The sample expects couchbase to run on your machine with a bucket named `default` and
no password. You can customize these settings in `application.properties`.
This sample also configures the `auto-index` property and the `UserRepository` defines
the `all` view so you should be able to invoke `findAll` for this sample.
== Creating the view manually
If you don't want to rely on `auto-index` and better understand how this works behind the
scenes, you need to create an `all` view for the `User`. Go to the Couchbase servers
admin console and visit the Views screen, then click `Create Development View` and name
it `all` with `user` as document name. On that view, you need to change the code to:
```java
function (doc, meta) {
if (doc._class == "sample.data.couchbase.User") {
emit(meta.id, null);
}
}
```
and the _reduce_ function to `_count`. After you've saved your changes go back to `Views`
and click on `Publish` so that the `all` view move to the `Production Views` tab.

View File

@ -1,16 +0,0 @@
= Spring Boot Neo4j Sample
This sample demonstrates the integration of Neo4j with a simple entity. It
expects a Neo4j instance running on `localhost`. If your neo4j instance
requires authentication, update `application.properties` with your credentials:
```
spring.data.neo4j.username=neo4j
spring.data.neo4j.password=secret
```
You can also locally add the embedded driver to embed Neo4j instead. Note
that Spring Boot does not provide dependency management for that GPL-licensed
library, see
https://docs.spring.io/spring-data/neo4j/docs/4.2.x/reference/html/#reference.getting_started.driver[the official documentation]
for more details.

View File

@ -1,9 +0,0 @@
== Spring Boot Flyway Sample
This sample demonstrates the flyway auto-configuration support.
You can look at `http://localhost:8080/actuator/flyway` to review the list of scripts.
This sample also enables the H2 console (at `http://localhost:8080/h2-console`)
so that you can review the state of the database (the default jdbc url is
`jdbc:h2:mem:testdb`).

View File

@ -1,9 +0,0 @@
== jOOQ Sample
To rerun the code generator:
[indent=0]
----
$ rm -fr gensrc
$ mvn clean generate-sources -Pgenerate
----

View File

@ -1,41 +0,0 @@
/**
* This class is generated by jOOQ
*/
package sample.jooq.domain;
import javax.annotation.Generated;
/**
* Convenience access to all tables in PUBLIC
*/
@Generated(value = { "https://www.jooq.org",
"jOOQ version:3.8.2" }, comments = "This class is generated by jOOQ")
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class Tables {
/**
* The table <code>PUBLIC.LANGUAGE</code>.
*/
public static final Language LANGUAGE = sample.jooq.domain.Language.LANGUAGE;
/**
* The table <code>PUBLIC.AUTHOR</code>.
*/
public static final Author AUTHOR = sample.jooq.domain.Author.AUTHOR;
/**
* The table <code>PUBLIC.BOOK</code>.
*/
public static final Book BOOK = sample.jooq.domain.Book.BOOK;
/**
* The table <code>PUBLIC.BOOK_STORE</code>.
*/
public static final BookStore BOOK_STORE = sample.jooq.domain.BookStore.BOOK_STORE;
/**
* The table <code>PUBLIC.BOOK_TO_BOOK_STORE</code>.
*/
public static final BookToBookStore BOOK_TO_BOOK_STORE = sample.jooq.domain.BookToBookStore.BOOK_TO_BOOK_STORE;
}

View File

@ -1,148 +0,0 @@
## Introduction
This application is intended to run inside of a Java EE application server such as
JBoss Wildfly. It demonstrates Spring Boot's auto-configuration defaulting for a
container-managed `TransactionManager` and `DataSource`. This example unfortunately
requires a fully configured Wildfly installation. You'll need to configure a PostgreSQL
XA `DataSource` and an XA `ConnectionFactory` in the Java EE application server's
JNDI machinery.
## Setup
### Postgres
We will use postgres as the underlying database, v9.3.5 or above is recommend. Follow
the installation instructions from https://www.postgresql.org/[postgresql.org] or use
a package manager to install the appropriate binaries.
Once installed you will need to initialize and start the server.
[source,indent=0]
----
$ initdb /usr/local/var/postgres -E utf8
$ pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
----
With the server running you can create a user and a database:
[source,indent=0]
----
$ createuser springboot
$ createdb bootdemo
----
Finally you can type `psql bootdemo` to configure a password:
[source,indent=0]
----
ALTER USER springboot WITH PASSWORD 'springboot';
\q
----
### WildFly 8.1
Download an install WildFly 8.1 from https://wildfly.org/downloads/[wildfly.org]. Once
installed you will need to add a management user by running `$JBOSS_HOME/bin/add-user.sh`
(see the WildFly documentation for details).
You will also need to add a postgresql module. The following commands setup the basic
structure:
[source,indent=0]
----
$ cd $JBOSS_HOME
mkdir -p modules/org/postgresql/main
wget https://jdbc.postgresql.org/download/postgresql-9.3-1102.jdbc41.jar
mv postgresql-9.3-1102.jdbc41.jar modules/org/postgresql/main
----
You can then add the following to `$JBOSS_HOME/modules/org/postgresql/main/module.xml`:
[source,indent=0]
----
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.0" name="org.postgresql">
<resources>
<resource-root path="postgresql-9.3-1102.jdbc41.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
</module>
----
## Configuration
A custom WildFly configuration is required for the XA `DataSource` and `ConnectionFactory`
elements. The `$JBOSS_HOME/standalone/configuration/standalone-full.xml` is a good
starting point, copy this file to
`$JBOSS_HOME/standalone/configuration/standalone-boot-demo.xml` then make the following
changes.
### DataSource
You need to register a PostgreSQL XA `Driver` and then configure an `xa-datasource`.
Here's a complete listing of the `xa-datasource` contribution to the `datasources`
element, and the `driver` contribution to the `drivers` element to configure a PostgreSQL
DB connection to localhost.
https://access.redhat.com/documentation/en-US/JBoss_Enterprise_Application_Platform/6/html-single/Administration_and_Configuration_Guide/index.html#Install_a_JDBC_Driver_with_the_Management_Console[You can learn more from the documentation].
[source,xml,indent=0,subs="verbatim,attributes"]
----
<datasources>
...
<xa-datasource
jndi-name="java:jboss/datasources/bootdemo"
pool-name="CrmXADS"
enabled="true">
<xa-datasource-property name="url">jdbc:postgresql://localhost:5432/crm</xa-datasource-property>
<driver>postgres</driver>
<xa-pool>
<min-pool-size>10</min-pool-size>
<max-pool-size>20</max-pool-size>
<prefill>true</prefill>
</xa-pool>
<security>
<user-name>springboot</user-name>
<password>springboot</password>
</security>
</xa-datasource>
<drivers>
...
<driver name="postgres" module="org.postgresql">
<xa-datasource-class>org.postgresql.xa.PGXADataSource</xa-datasource-class>
</driver>
</drivers>
</datasources>
----
### JMS Destination
You will also need to configure a `javax.jms.Destination` by contributing the following to
the `hornetq-server` element:
[source,xml,indent=0,subs="verbatim,attributes"]
----
<jms-destinations>
<jms-queue name="accounts">
<entry name="java:/jms/queue/bootdemo"/>
</jms-queue>
...
</jms-destinations>
----
## Running and deploying the sample
Run Wildfly with the following command:
[source,indent=0]
----
$JBOSS_HOME/bin/standalone.sh -c standalone-boot-demo.xml
----
Once running you can deploy the application by copying
`target/spring-boot-sample-jta-jndi.war` to `$JBOSS_HOME/standalone/deployments`.
Open a browser to http://localhost:8080/spring-boot-sample-jta-jndi to trigger the
sample. You should see the current count (it will increment by one on each refresh). If
you check the logs you should see a `----> Josh` message and some counts. Notice how the
`error` message triggers an exception with causes both the database insert and the JMS
message to be rolled back.

View File

@ -1,10 +0,0 @@
== Spring Boot Liquibase Sample
This sample demonstrates the liquibase auto-configuration support.
You can look at `http://localhost:8080/actuator/liquibase` to review the list of
scripts.
This sample also enables the H2 console (at `http://localhost:8080/h2-console`)
so that you can review the state of the database (the default jdbc url is
`jdbc:h2:mem:testdb`).

View File

@ -1,12 +0,0 @@
= Spring Boot Sample OAuth2 Client
== Register Github OAuth2 application
To run the sample, you need to link:https://github.com/settings/applications/new[register an OAuth application on Github].
While registering your application, ensure the Authorization callback URL is set to http://localhost:8080/login/oauth2/code/github.
After completing the registration, you will have a new OAuth Application with a Client ID and Client Secret.
== Configuring application.yml
Once the OAuth application is registered with GitHub, you need to configure the sample application to use this OAuth application (client).
Edit the link:src/main/resources/application.yml[application.yml] and replace ${APP-CLIENT-ID} and ${APP-CLIENT-SECRET} with the OAuth client credentials created in the previous section.
The sample can now be run and you can login with your Github user credentials.

View File

@ -1,11 +0,0 @@
== Spring Boot Quartz Sample
This sample demonstrates the Quartz auto-configuration support.
The sample uses Maven. It can be built and run from the command line:
----
$ mvn spring-boot:run
----
Console log will now show "Hello World!" from `SampleJob` every 2 seconds.

View File

@ -1,12 +0,0 @@
= Spring Boot Sample Reactive OAuth2 Client
== Register Github OAuth2 application
To run the sample, you need to link:https://github.com/settings/applications/new[register an OAuth application on Github].
While registering your application, ensure the Authorization callback URL is set to http://localhost:8080/login/oauth2/code/github.
After completing the registration, you will have a new OAuth Application with a Client ID and Client Secret.
== Configuring application.yml
Once the OAuth application is registered with GitHub, you need to configure the sample application to use this OAuth application (client).
Edit the link:src/main/resources/application.yml[application.yml] and replace ${APP-CLIENT-ID} and ${APP-CLIENT-SECRET} with the OAuth client credentials created in the previous section.
The sample can now be run and you can login with your Github user credentials.

View File

@ -1,37 +0,0 @@
= Spring Boot Spring Session Sample
This sample demonstrates the Spring Session WebFlux auto-configuration support. Spring
Session supports multiple reactive session store types, including:
* `Redis`
* `MongoDB`
== Using a different session store
Initially, the project uses MongoDB session store backed by an embedded MongoDB. You can
try out your favorite session store as explained below.
=== Redis
Add `org.springframework.session:spring-session-data-redis` and
`spring-boot-starter-data-redis-reactive` dependencies to the project and make sure it is
configured properly (by default, a Redis instance with the default settings is expected
on your local box).
TIP: Run sample application using Redis session store using
`$mvn spring-boot:run -Predis`.
=== MongoDB
Add `org.springframework.session:spring-session-data-mongodb` and
`spring-boot-starter-data-mongodb-reactive` and
`de.flapdoodle.embed:de.flapdoodle.embed.mongo` dependencies to the project. An embedded
MongoDB is automatically configured.
TIP: Run sample application using MongoDB session store using
`$mvn spring-boot:run -Pmongodb`.
Note that this profile is active by default.

View File

@ -1,60 +0,0 @@
= Spring Boot Spring Session Sample
This sample demonstrates the Spring Session auto-configuration support. Spring Session
supports multiple session store types, including:
* `Redis`
* `JDBC`
* `Hazelcast`
* `MongoDB`
== Using a different session store
Initially, the project uses JDBC session store backed by an in-memory embedded H2
database. You can try out your favorite session store as explained below.
=== Redis
Add `org.springframework.session:spring-session-data-redis` and
`spring-boot-starter-data-redis` dependencies to the project and make sure it is
configured properly (by default, a Redis instance with the default settings is expected
on your local box).
TIP: Run sample application using Redis session store using
`$mvn spring-boot:run -Predis`.
=== JDBC
Add `org.springframework.session:spring-session-jdbc`,
`org.springframework.boot:spring-boot-starter-jdbc` and `com.h2database:h2` dependencies
to the project. An in-memory embedded H2 database is automatically configured.
TIP: Run sample application using JDBC session store with
`$mvn spring-boot:run -Pjdbc`.
Note that this profile is active by default.
=== Hazelcast
Add `org.springframework.session:spring-session-hazelcast` and `com.hazelcast:hazelcast`
dependencies to the project to enable support for Hazelcast. Since there is a default
`hazelcast.xml` configuration file at the root of the classpath, it is used to
automatically configure the underlying `HazelcastInstance`.
TIP: Run sample application using Hazelcast session store with
`$mvn spring-boot:run -Phazelcast`.
=== MongoDB
Add `org.springframework.session:spring-session-data-mongodb` and
`spring-boot-starter-data-mongodb` dependencies to the project and make sure it is
configured properly (by default, a MongoDB instance with the default settings is expected
on your local box).
TIP: Run sample application using MongoDB session store using
`$mvn spring-boot:run -Pmongodb`.

View File

@ -1,6 +0,0 @@
This sample application uses Spring Boot and
http://docs.groovy-lang.org/latest/html/documentation/#_the_markuptemplateengine[Groovy templates]
in the View layer. The templates for this app live in `classpath:/templates/`, which is
the conventional location for Spring Boot. External configuration is available via
``spring.groovy.template.*''.

View File

@ -1,14 +0,0 @@
== Spring Boot - Samples - Web Services
This sample project demonstrates how to use https://projects.spring.io/spring-ws/[Spring Web Services]
with Spring Boot. It is an implementation of the
https://docs.spring.io/spring-ws/site/reference/html/tutorial.html#tutorial.implementing.endpoint[Holiday Request sample]
in the Spring Web Services reference guide.
The sample uses Maven. It can be built and run from the command line:
----
$ mvn spring-boot:run
----
http://localhost:8080/services/holidayService/holiday.wsdl will now display the generated WSDL.

View File

@ -1,32 +0,0 @@
/*
* Copyright 2012-2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package sample.xml.service;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
public class HelloWorldService {
@Value("${name:World}")
private String name;
public String getHelloMessage() {
return "Hello " + this.name;
}
}

View File

@ -8,10 +8,10 @@
<version>${revision}</version>
<relativePath>../spring-boot-project/spring-boot-parent</relativePath>
</parent>
<artifactId>spring-boot-samples-invoker</artifactId>
<artifactId>spring-boot-smoke-tests-invoker</artifactId>
<packaging>pom</packaging>
<name>Spring Boot Samples Invoker</name>
<description>Spring Boot Samples Invoker</description>
<name>Spring Boot Smoke Tests Invoker</name>
<description>Spring Boot Smoke Tests Invoker</description>
<properties>
<main.basedir>${basedir}/..</main.basedir>
</properties>
@ -23,7 +23,7 @@
<artifactId>maven-invoker-plugin</artifactId>
<inherited>false</inherited>
<configuration>
<projectsDirectory>${main.basedir}/spring-boot-samples</projectsDirectory>
<projectsDirectory>${main.basedir}/spring-boot-smoke-tests</projectsDirectory>
<skipInvocation>${skipTests}</skipInvocation>
<streamLogs>true</streamLogs>
<pomIncludes>
@ -46,7 +46,7 @@
<inherited>false</inherited>
<executions>
<execution>
<id>clean-samples</id>
<id>clean-smoke-tests</id>
<phase>clean</phase>
<goals>
<goal>run</goal>
@ -54,7 +54,7 @@
<configuration>
<target>
<delete includeemptydirs="true">
<fileset dir="${main.basedir}/spring-boot-samples"
<fileset dir="${main.basedir}/spring-boot-smoke-tests"
includes="**/target/" />
</delete>
</target>
@ -68,7 +68,7 @@
<inherited>false</inherited>
<executions>
<execution>
<id>clean-samples</id>
<id>clean-smoke-tests</id>
<phase>clean</phase>
<goals>
<goal>clean</goal>

View File

@ -0,0 +1,250 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>${revision}</version>
<relativePath>../spring-boot-project/spring-boot-starters/spring-boot-starter-parent</relativePath>
</parent>
<artifactId>spring-boot-smoke-tests</artifactId>
<packaging>pom</packaging>
<name>Spring Boot Smoke Tests</name>
<description>Spring Boot Smoke Tests</description>
<properties>
<main.basedir>${basedir}/..</main.basedir>
<java.version>1.8</java.version>
<disable.checks>false</disable.checks>
</properties>
<modules>
<module>spring-boot-smoke-test-ant</module>
<module>spring-boot-smoke-test-activemq</module>
<module>spring-boot-smoke-test-actuator</module>
<module>spring-boot-smoke-test-actuator-log4j2</module>
<module>spring-boot-smoke-test-actuator-noweb</module>
<module>spring-boot-smoke-test-actuator-ui</module>
<module>spring-boot-smoke-test-actuator-custom-security</module>
<module>spring-boot-smoke-test-amqp</module>
<module>spring-boot-smoke-test-animated-banner</module>
<module>spring-boot-smoke-test-aop</module>
<module>spring-boot-smoke-test-atmosphere</module>
<module>spring-boot-smoke-test-batch</module>
<module>spring-boot-smoke-test-cache</module>
<module>spring-boot-smoke-test-custom-layout</module>
<module>spring-boot-smoke-test-data-cassandra</module>
<module>spring-boot-smoke-test-data-couchbase</module>
<module>spring-boot-smoke-test-data-elasticsearch</module>
<module>spring-boot-smoke-test-data-jdbc</module>
<module>spring-boot-smoke-test-data-jpa</module>
<module>spring-boot-smoke-test-data-ldap</module>
<module>spring-boot-smoke-test-data-mongodb</module>
<module>spring-boot-smoke-test-data-neo4j</module>
<module>spring-boot-smoke-test-data-redis</module>
<module>spring-boot-smoke-test-data-rest</module>
<module>spring-boot-smoke-test-data-solr</module>
<module>spring-boot-smoke-test-devtools</module>
<module>spring-boot-smoke-test-flyway</module>
<module>spring-boot-smoke-test-hateoas</module>
<module>spring-boot-smoke-test-integration</module>
<module>spring-boot-smoke-test-jersey</module>
<module>spring-boot-smoke-test-jetty</module>
<module>spring-boot-smoke-test-jetty-jsp</module>
<module>spring-boot-smoke-test-jetty-ssl</module>
<module>spring-boot-smoke-test-jooq</module>
<module>spring-boot-smoke-test-jpa</module>
<module>spring-boot-smoke-test-jta-atomikos</module>
<module>spring-boot-smoke-test-jta-bitronix</module>
<module>spring-boot-smoke-test-jta-jndi</module>
<module>spring-boot-smoke-test-junit-jupiter</module>
<module>spring-boot-smoke-test-junit-vintage</module>
<module>spring-boot-smoke-test-kafka</module>
<module>spring-boot-smoke-test-liquibase</module>
<module>spring-boot-smoke-test-logback</module>
<module>spring-boot-smoke-test-oauth2-client</module>
<module>spring-boot-smoke-test-oauth2-resource-server</module>
<module>spring-boot-smoke-test-parent-context</module>
<module>spring-boot-smoke-test-profile</module>
<module>spring-boot-smoke-test-property-validation</module>
<module>spring-boot-smoke-test-quartz</module>
<module>spring-boot-smoke-test-reactive-oauth2-client</module>
<module>spring-boot-smoke-test-reactive-oauth2-resource-server</module>
<module>spring-boot-smoke-test-secure</module>
<module>spring-boot-smoke-test-secure-webflux</module>
<module>spring-boot-smoke-test-servlet</module>
<module>spring-boot-smoke-test-session</module>
<module>spring-boot-smoke-test-session-webflux</module>
<module>spring-boot-smoke-test-simple</module>
<module>spring-boot-smoke-test-test</module>
<module>spring-boot-smoke-test-test-nomockito</module>
<module>spring-boot-smoke-test-testng</module>
<module>spring-boot-smoke-test-tomcat</module>
<module>spring-boot-smoke-test-tomcat-jsp</module>
<module>spring-boot-smoke-test-tomcat-ssl</module>
<module>spring-boot-smoke-test-tomcat-multi-connectors</module>
<module>spring-boot-smoke-test-traditional</module>
<module>spring-boot-smoke-test-undertow</module>
<module>spring-boot-smoke-test-undertow-ssl</module>
<module>spring-boot-smoke-test-war</module>
<module>spring-boot-smoke-test-web-freemarker</module>
<module>spring-boot-smoke-test-web-groovy-templates</module>
<module>spring-boot-smoke-test-web-jsp</module>
<module>spring-boot-smoke-test-web-method-security</module>
<module>spring-boot-smoke-test-web-mustache</module>
<module>spring-boot-smoke-test-web-secure</module>
<module>spring-boot-smoke-test-web-secure-custom</module>
<module>spring-boot-smoke-test-web-secure-jdbc</module>
<module>spring-boot-smoke-test-web-static</module>
<module>spring-boot-smoke-test-web-ui</module>
<module>spring-boot-smoke-test-webflux</module>
<module>spring-boot-smoke-test-websocket-jetty</module>
<module>spring-boot-smoke-test-websocket-tomcat</module>
<module>spring-boot-smoke-test-websocket-undertow</module>
<module>spring-boot-smoke-test-webservices</module>
<module>spring-boot-smoke-test-xml</module>
</modules>
<!-- No dependencies - otherwise the smoke tests won't work if you change the
parent -->
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>flatten-maven-plugin</artifactId>
<inherited>true</inherited>
<executions>
<execution>
<id>flatten</id>
<phase>process-resources</phase>
<goals>
<goal>flatten</goal>
</goals>
<configuration>
<updatePomFile>true</updatePomFile>
<flattenMode>oss</flattenMode>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-enforcer-plugin
</artifactId>
<versionRange>
[1.3.1,)
</versionRange>
<goals>
<goal>enforce</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
<pluginExecution>
<pluginExecutionFilter>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-maven-plugin
</artifactId>
<versionRange>
[1.4.0.BUILD-SNAPSHOT,)
</versionRange>
<goals>
<goal>build-info</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<includes>
<include>**/*Tests.java</include>
</includes>
<excludes>
<exclude>**/Abstract*.java</exclude>
</excludes>
<systemPropertyVariables>
<java.security.egd>file:/dev/./urandom</java.security.egd>
<java.awt.headless>true</java.awt.headless>
</systemPropertyVariables>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<executions>
<execution>
<id>enforce-rules</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<bannedDependencies>
<excludes>
<exclude>commons-logging:*:*</exclude>
</excludes>
<searchTransitive>true</searchTransitive>
</bannedDependencies>
</rules>
<fail>true</fail>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
<inherited>true</inherited>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>fast</id>
<activation>
<property>
<name>fast</name>
</property>
</activation>
<properties>
<disable.checks>true</disable.checks>
</properties>
</profile>
</profiles>
</project>

View File

@ -4,13 +4,13 @@
<modelVersion>4.0.0</modelVersion>
<parent>
<!-- Your own application should inherit from spring-boot-starter-parent -->
<artifactId>spring-boot-samples</artifactId>
<artifactId>spring-boot-smoke-tests</artifactId>
<groupId>org.springframework.boot</groupId>
<version>${revision}</version>
</parent>
<artifactId>spring-boot-sample-activemq</artifactId>
<name>Spring Boot ActiveMQ Sample</name>
<description>Spring Boot ActiveMQ Sample</description>
<artifactId>spring-boot-smoke-test-activemq</artifactId>
<name>Spring Boot ActiveMQ Smoke Test</name>
<description>Spring Boot ActiveMQ Smoke Test</description>
<properties>
<main.basedir>${basedir}/../..</main.basedir>
</properties>

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package sample.activemq;
package smoketest.activemq;
import org.springframework.jms.annotation.JmsListener;
import org.springframework.stereotype.Component;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package sample.activemq;
package smoketest.activemq;
import javax.jms.Queue;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package sample.activemq;
package smoketest.activemq;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;

View File

@ -5,12 +5,12 @@
<parent>
<!-- Your own application should inherit from spring-boot-starter-parent -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-samples</artifactId>
<artifactId>spring-boot-smoke-tests</artifactId>
<version>${revision}</version>
</parent>
<artifactId>spring-boot-sample-actuator-custom-security</artifactId>
<name>Spring Boot Actuator Custom Security Sample</name>
<description>Spring Boot Actuator Custom Security Sample</description>
<artifactId>spring-boot-smoke-test-actuator-custom-security</artifactId>
<name>Spring Boot Actuator Custom Security Smoke Test</name>
<description>Spring Boot Actuator Custom Security Smoke Test</description>
<properties>
<main.basedir>${basedir}/../..</main.basedir>
</properties>

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package sample.actuator.customsecurity;
package smoketest.actuator.customsecurity;
import java.util.Date;
import java.util.Map;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package sample.actuator.customsecurity;
package smoketest.actuator.customsecurity;
import org.springframework.boot.actuate.endpoint.web.annotation.RestControllerEndpoint;
import org.springframework.http.ResponseEntity;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package sample.actuator.customsecurity;
package smoketest.actuator.customsecurity;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package sample.actuator.customsecurity;
package smoketest.actuator.customsecurity;
import org.springframework.boot.actuate.autoconfigure.security.servlet.EndpointRequest;
import org.springframework.boot.actuate.web.mappings.MappingsEndpoint;

View File

@ -5,12 +5,12 @@
<parent>
<!-- Your own application should inherit from spring-boot-starter-parent -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-samples</artifactId>
<artifactId>spring-boot-smoke-tests</artifactId>
<version>${revision}</version>
</parent>
<artifactId>spring-boot-sample-actuator-log4j2</artifactId>
<name>Spring Boot Actuator Log4j 2 Sample</name>
<description>Spring Boot Actuator Log4j 2 Sample</description>
<artifactId>spring-boot-smoke-test-actuator-log4j2</artifactId>
<name>Spring Boot Actuator Log4j 2 Smoke Test</name>
<description>Spring Boot Actuator Log4j 2 Smoke Test</description>
<properties>
<main.basedir>${basedir}/../..</main.basedir>
</properties>

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package sample.actuator.log4j2;
package smoketest.actuator.log4j2;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

View File

@ -5,12 +5,12 @@
<parent>
<!-- Your own application should inherit from spring-boot-starter-parent -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-samples</artifactId>
<artifactId>spring-boot-smoke-tests</artifactId>
<version>${revision}</version>
</parent>
<artifactId>spring-boot-sample-actuator-noweb</artifactId>
<name>Spring Boot Actuator Non-Web Sample</name>
<description>Spring Boot Actuator Non-Web Sample</description>
<artifactId>spring-boot-smoke-test-actuator-noweb</artifactId>
<name>Spring Boot Actuator Non-Web Smoke Test</name>
<description>Spring Boot Actuator Non-Web Smoke Test</description>
<properties>
<main.basedir>${basedir}/../..</main.basedir>
</properties>

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package sample.actuator.noweb;
package smoketest.actuator.noweb;
import org.springframework.stereotype.Component;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package sample.actuator.noweb;
package smoketest.actuator.noweb;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package sample.actuator.noweb;
package smoketest.actuator.noweb;
import org.springframework.boot.context.properties.ConfigurationProperties;

View File

@ -5,12 +5,12 @@
<parent>
<!-- Your own application should inherit from spring-boot-starter-parent -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-samples</artifactId>
<artifactId>spring-boot-smoke-tests</artifactId>
<version>${revision}</version>
</parent>
<artifactId>spring-boot-sample-actuator-ui</artifactId>
<name>Spring Boot Actuator UI Sample</name>
<description>Spring Boot Actuator UI Sample</description>
<artifactId>spring-boot-smoke-test-actuator-ui</artifactId>
<name>Spring Boot Actuator UI Smoke Test</name>
<description>Spring Boot Actuator UI Smoke Test</description>
<properties>
<main.basedir>${basedir}/../..</main.basedir>
</properties>

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package sample.actuator.ui;
package smoketest.actuator.ui;
import java.util.Date;
import java.util.Map;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package sample.actuator.ui;
package smoketest.actuator.ui;
import java.util.Arrays;
import java.util.Map;

View File

@ -5,12 +5,12 @@
<parent>
<!-- Your own application should inherit from spring-boot-starter-parent -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-samples</artifactId>
<artifactId>spring-boot-smoke-tests</artifactId>
<version>${revision}</version>
</parent>
<artifactId>spring-boot-sample-actuator</artifactId>
<name>Spring Boot Actuator Sample</name>
<description>Spring Boot Actuator Sample</description>
<artifactId>spring-boot-smoke-test-actuator</artifactId>
<name>Spring Boot Actuator Smoke Test</name>
<description>Spring Boot Actuator Smoke Test</description>
<properties>
<main.basedir>${basedir}/../..</main.basedir>
</properties>

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package sample.actuator;
package smoketest.actuator;
import org.springframework.boot.actuate.health.Health;
import org.springframework.boot.actuate.health.HealthIndicator;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package sample.actuator;
package smoketest.actuator;
import java.util.Collections;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package sample.actuator;
package smoketest.actuator;
import org.springframework.stereotype.Component;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package sample.actuator;
package smoketest.actuator;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.actuate.health.Health;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package sample.actuator;
package smoketest.actuator;
import java.util.Collections;
import java.util.Date;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package sample.actuator;
package smoketest.actuator;
import org.springframework.boot.context.properties.ConfigurationProperties;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package sample.actuator;
package smoketest.actuator;
import java.util.Arrays;
import java.util.List;
@ -124,7 +124,7 @@ class SampleActuatorApplicationTests {
void infoInsecureByDefault() {
ResponseEntity<String> entity = this.restTemplate.getForEntity("/actuator/info", String.class);
assertThat(entity.getStatusCode()).isEqualTo(HttpStatus.OK);
assertThat(entity.getBody()).contains("\"artifact\":\"spring-boot-sample-actuator\"");
assertThat(entity.getBody()).contains("\"artifact\":\"spring-boot-smoke-test-actuator\"");
assertThat(entity.getBody()).contains("\"someKey\":\"someValue\"");
assertThat(entity.getBody()).contains("\"java\":{", "\"source\":\"1.8\"", "\"target\":\"1.8\"");
assertThat(entity.getBody()).contains("\"encoding\":{", "\"source\":\"UTF-8\"", "\"reporting\":\"UTF-8\"");

View File

@ -6,12 +6,12 @@
<parent>
<!-- Your own application should inherit from spring-boot-starter-parent -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-samples</artifactId>
<artifactId>spring-boot-smoke-tests</artifactId>
<version>${revision}</version>
</parent>
<artifactId>spring-boot-sample-amqp</artifactId>
<name>Spring Boot AMQP Sample</name>
<description>Spring Boot AMQP Sample</description>
<artifactId>spring-boot-smoke-test-amqp</artifactId>
<name>Spring Boot AMQP Smoke Test</name>
<description>Spring Boot AMQP Smoke Test</description>
<properties>
<main.basedir>${basedir}/../..</main.basedir>
</properties>

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package sample.amqp;
package smoketest.amqp;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;

View File

@ -5,12 +5,12 @@
<parent>
<!-- Your own application should inherit from spring-boot-starter-parent -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-samples</artifactId>
<artifactId>spring-boot-smoke-tests</artifactId>
<version>${revision}</version>
</parent>
<artifactId>spring-boot-sample-animated-banner</artifactId>
<name>Spring Boot Simple Animated Banner</name>
<description>Spring Boot Simple Animated Banner</description>
<artifactId>spring-boot-smoke-test-animated-banner</artifactId>
<name>Spring Boot Animated Banner Smoke Test</name>
<description>Spring Boot Animated Banner Smoke Test</description>
<properties>
<main.basedir>${basedir}/../..</main.basedir>
</properties>

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package sample.animated;
package smoketest.animated;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

View File

@ -1,7 +1,7 @@
<project
xmlns:ivy="antlib:org.apache.ivy.ant"
xmlns:spring-boot="antlib:org.springframework.boot.ant"
name="spring-boot-sample-ant"
name="spring-boot-smoke-test-ant"
default="build">
<description>
@ -13,7 +13,7 @@
<property name="ant-spring-boot.version" value="${revision}" />
<property name="lib.dir" location="${basedir}/target/lib" />
<property name="start-class" value="sample.ant.SampleAntApplication" />
<property name="start-class" value="smoketest.ant.SampleAntApplication" />
<target name="resolve" description="--> retrieve dependencies with ivy">
<ivy:retrieve pattern="${lib.dir}/[conf]/[artifact]-[type]-[revision].[ext]" />

View File

@ -1,5 +1,5 @@
<ivy-module version="2.0">
<info organisation="org.springframework.boot" module="spring-boot-sample-ant" />
<info organisation="org.springframework.boot" module="spring-boot-smoke-test-ant" />
<configurations>
<conf name="compile" description="everything needed to compile this module" />
<conf name="runtime" extends="compile" description="everything needed to run this module" />

Some files were not shown because too many files have changed in this diff Show More