Commit Graph

1518 Commits (34f28b4cbd9d11abd0c734599928ebeadbf16ea8)

Author SHA1 Message Date
Phillip Webb fd5c43cdc9 Separate endpoint concerns
Update endpoint code to provide cleaner separation of concerns.
Specifically, the top level endpoint package is no longer aware of
the fact that JMX and HTTP are ultimately used to expose endpoints.
Caching concerns have also been abstracted behind a general purpose
`OperationMethodInvokerAdvisor` interface.

Configuration properties have been refined to further enforce
separation. The `management.endpoint.<name>` prefix provides
configuration for a  single endpoint (including enable and cache
time-to-live). These  properties are now technology agnostic (they
don't include `web` or `jmx` sub properties).

The `management.endpoints.<technology>` prefix provide exposure specific
configuration. For example, `management.endpoints.web.path-mapping`
allow endpoint URLs to be changed.

Endpoint enabled/disabled logic has been simplified so that endpoints
can't be disabled per exposure technology. Instead a filter based
approach is used to allow refinement of what endpoints are exposed over
a given technology.

Fixes gh-10176
7 years ago
Phillip Webb f647f5689f Polish 7 years ago
Andy Wilkinson 88366b75d0 Reinstate @DirtiesContext on shutdown endpoint test
Closes gh-10548
7 years ago
Stephane Nicoll 512030f4fa Polish "Samples cleanup"
Closes gh-10548
7 years ago
Ivan Sopov d8fa71bc97 Samples cleanup
- Modifying dependencies to starter-web with tomcat exclusion plus
  alternative servlet container instead of manual dependency on
  spring-webmvc as it is the preferrable way to use alternative servlet
  container
- Previously RestTemplate with ssl was configured manually in tests - now
  it rellies on autoconfiguration - changed this for multi-connector test
  and added test to ensure that ssl autoconfiguration is working
- Most samples with alterntative servlet containers used some kind of
  service reading property and returning default since it wasn't
  configured - removed it, since it is not specific to using alternative
  servlet containers.

See gh-10548
7 years ago
Andy Wilkinson ec7840e049 Align Actuator sample's tests with endpoint contextId changes
See gh-10980
7 years ago
Andy Wilkinson 07462be090 Polish 7 years ago
Johnny Lim bd0dcfb172 Utilize StandardCharsets
Closes gh-10972
7 years ago
Andy Wilkinson 60afbdc868 Polish 7 years ago
Phillip Webb c55b5d7111 Polish 7 years ago
Andy Wilkinson 5aa66305a8 Log warning when open-in-view is implicitly enabled for JPA or Neo4j
Closes gh-7107
7 years ago
Andy Wilkinson 622e65a290 Align simple sample with configuration properties validation change
See gh-8024
7 years ago
Vedran Pavic ac10fa31cd Upgrade to Hazelcast 3.9
Closes gh-10764
7 years ago
Andy Wilkinson 66b55defa0 Adapt to password encoder changes in Spring Security
Closes gh-10762
7 years ago
Johnny Lim 6168fae720 Remove explicit type arguments
See gh-10494
7 years ago
Stephane Nicoll 59a906bd58 Upgrade Java9 build to AspectJ 1.9.0.RC1 7 years ago
Andy Wilkinson 90ecb29667 Align with spring-security-jwt-jose being renamed to s-s-auth2-jose
Closes gh-10750
7 years ago
Madhura Bhave 80b5da78a1 Fix test failures 7 years ago
Madhura Bhave 8600bd7294 Upgrade to Spring Security 5.0.0.BUILD-SNAPSHOT
Following some changes in the latest snapshot this includes:
- Some updates to oauth2 client auto-config
- Security auto-config no longer relies on GlobalAuthenticationConfigurerAdapter
- Remove reactive security starter

Closes gh-10704
7 years ago
Madhura Bhave d307eba0a3 Add property to configure base-path for web endpoints.
Also, move properties corresponding to management server under
`management.server.*`.

Closes gh-10230
7 years ago
Stephane Nicoll 00142dc70f Fixup version numbers following release 7 years ago
Spring Buildmaster c0f9f64776 Next Development Version 7 years ago
Andy Wilkinson 162a48806e Update custom layout sample so it builds with Java 9
Previously, the custom layout sample did not configure the source
and target for the compiler. This meant that both defaulted to 1.5
which is not supported by Java 9's javac. The oldest support version
is 1.6.

This commit sets the maven.compiler.source and maven.compiler.target
properties to 1.8 (the lowest version support by Boot 2.0) allowing
the sample to build with both Java 8 and Java 9.

See gh-10515
7 years ago
Phillip Webb 748e0779b6 Update copyright year for changed files 7 years ago
Phillip Webb d62d829c19 Polish 7 years ago
Madhura Bhave ab8aa6bb6c Add README for OAuth2 client sample 7 years ago
Phillip Webb 9ff87612f9 Delete sample Gradle builds
Remove the Gradle builds that were provided with some of the sample
applications since they were never directly invoked.

See gh-9316
7 years ago
Phillip Webb 041d8b39d0 Fix Ant builds following Maven updates
Update `spring-boot-sample-ant` so that it works with the CI friendly
Maven POMs.

See gh-9316
7 years ago
Phillip Webb 2855010841 Fix sample POMs
Update sample POMs to follow CI friendly Maven conventions.

See gh-9316
7 years ago
Phillip Webb 9192444c31 Polish 7 years ago
Madhura Bhave 9f1ed197d2 Update sample with placeholders for oauth client 7 years ago
Madhura Bhave dbe1d9608d Add auto-config for spring-security-oauth2-client
Closes gh-10497
7 years ago
Andy Wilkinson 5a13a32f6c Revert "Reinstate testing of Jetty JSP sample on Java 9"
This reverts commit bbca612a57.
StandardJarScanner, which contains the faulty assumption about
URLClassLoader is part of Jasper. Jetty, like Tomcat, uses Jasper for
JSPs so it's also affected.

See gh-10456
7 years ago
jfarcand 9dbc3e25bb Upgrade sample to Atmosphere 2.4.14
Closes gh-10447
7 years ago
Andy Wilkinson bbca612a57 Reinstate testing of Jetty JSP sample on Java 9
See gh-10456
7 years ago
Stephane Nicoll 75dbe5c2de Include java.xml.ws module when running on Java 9
See gh-7226
7 years ago
Stephane Nicoll 5ba2906045 Disable JSP sample tests on Java 9
See gh-10456
7 years ago
Stephane Nicoll eddf27320f Configuring Surefire for samples when running on Java 9
See gh-7226
7 years ago
Stephane Nicoll 4caeed2ac4 Disable cassandra test on Java 9
See gh-10453
7 years ago
Phillip Webb 9e43b99966 Polish 7 years ago
Madhura Bhave 5d05347e61 Add auto-config and starter for reactive security
Closes gh-9925
7 years ago
Madhura Bhave 7093602753 Simplify UserDetailsService creation in samples
Closes gh-10385
7 years ago
Vedran Pavic bb72a4abe1 Add support for Spring WS auto WSDL/XSD exposure
This commit adds support for auto-configuration of Spring WS automatic
WSDL and XSD exposure i.e. registration of `WsdlDefinition` and
`XsdDefinition` beans. The bean registration is triggered by configuring
`spring.webservices.wsdl-locations` property which will search the
provided locations for WSDL/XSD files and register appropriate beans.

See gh-9635
7 years ago
Vedran Pavic a39ccc2f8c Add MongoDB support to Spring Session sample
Closes gh-10374
7 years ago
Andy Wilkinson c3bc32db02 Polish and reinstate usage of FileSystemUtils.deleteRecursively
Closes gh-9942
7 years ago
Andy Wilkinson e9147c2f20 Remove Spring Security OAuth Auto-Configuration
This commit removes auto-configuration support for Spring Security
OAuth, paving the way for the introduction of auto-configuration for
Spring Security 5's new OAuth-related features.

Closes gh-10255
7 years ago
Stephane Nicoll 27f22229e2 Polish "Add actuator endpoint for finding and deleting sessions"
Closes gh-8342
7 years ago
Vedran Pavic cf151b1717 Add actuator endpoint for finding and deleting sessions
See gh-8342
7 years ago
Andy Wilkinson 8ab12d909e Use standard bean validation annotations that are new in 2.0
See gh-9969
7 years ago
Stephane Nicoll efc3188cff Polish "Improve Spring Session sample"
Closes gh-10351
7 years ago
Vedran Pavic 8561929164 Improve Spring Session sample
This commit improves the Spring Session sample by providing multiple
build profiles that make it possible to easily try out different session
stores. By default, JDBC session store backed by an in-memory embedded H2
database is used.

See gh-10351
7 years ago
Andy Wilkinson 0f25dd0ea6 Update Failsafe and Surefire Maven plugins to 2.20.1
Closes gh-9414
7 years ago
Stephane Nicoll 8c0ffa331b Polish
See gh-9969
7 years ago
Stephane Nicoll d89ff8cb28 Polish sample
Closes gh-10330
7 years ago
Jon Schneider c2958c27ab Replace Boot's own metrics with support for Micrometer
Closes gh-9970
7 years ago
Stephane Nicoll e05e04014b Move security.* to spring.security.*
This commit also removes `security.basic.enabled` as this property is
no longer required.

Closes gh-10296
7 years ago
Stephane Nicoll 8010f6ef00 Rationalize JUnit5 dependency management
This commit only provides dependency management for JUnit Jupiter,
excluding experimental and migration support artifacts. It also removes
dependency management for the platform as it is used by IDEs and build
tools). The `junit-platform.version` is still available though to allow
users to configure their plugin with a supported placeholder for the
version.

Also, given that `junit-vintage-engine`'s version does not match the
JUnit 4 version it supports, we will not add dependency management for
it.

Closes gh-10240
7 years ago
Stephane Nicoll eb4a9d87fd Add actuator to jersey sample
Closes gh-10259
7 years ago
Stephane Nicoll b5d8e072f1 Add actuator to webflux sample
Closes gh-10258
7 years ago
Stephane Nicoll 73f4a2e130 Remove unnecessary override 7 years ago
Stephane Nicoll a825e9f493 Polish 7 years ago
Stephane Nicoll 4670cc7795 Relax use of spring.session.store-type
This commit makes the "spring.session.store-type" property optional,
adding an additional check when it is not present that validates only
one supported implementation is available on the classpath.

As Spring Session has been modularized, the chance that multiple
implementations are available on the classpath are lower. When only
one implementation is present, we attempt to auto-configure it. When
more than one implementation is present and no session store is
configured, a NonUniqueSessionRepositoryException is thrown.

Closes gh-9863
7 years ago
Brian Clozel 1669e4bad3 Fixup version numbers following release 7 years ago
Spring Buildmaster 30eb937a83 Next Development Version 7 years ago
Phillip Webb 46dfe38b60 Rework security request matchers
Update the security request matchers so that a bean is no longer needed
when the matcher is used. Matchers can now be build by starting from
the `EndpointRequest` or `StaticResourceRequest` classes. For example:

http.authorizeRequests()
  .requestMatchers(EndpointRequest.to("status", "info")).permitAll()
  .requestMatchers(EndpointRequest.toAnyEndpoint()).hasRole("ACTUATOR")
  .requestMatchers(StaticResourceRequest.toCommonLocations()).permitAll()

Closes gh-7958
7 years ago
Phillip Webb 2e51b48cd9 Refactor actuator package locations
Restructure actuator packages to improve structure. The following
changes have been made:

 - Separate actuator and actuator auto-configuration into different
   modules.
 - Move endpoint code into `spring-boot-actuator`.
 - Move `Endpoint` implementations from a single package into
   technology specific packages.
 - Move `HealthIndicator` implementations from a single package into
   technology specific packages.
 - As much as possible attempt to mirror the `spring-boot` package
   structure and class naming in `spring-boot-actuator` and
   `spring-boot-actuator-autoconfigure`.
 - Move `DataSourceBuilder` and DataSource meta-data support from
   `spring-boot-actuator` to `spring-boot`.

Fixes gh-10261
7 years ago
Phillip Webb 0f99b29b1a Temporarily remove security matchers
Temporarily back out `SpringBootSecurity` to enable easier
package refactoring.

See gh-10261
7 years ago
Phillip Webb ecb8461e8c Manually format security configuration
Update security configuration formatting to follow conventions
recommended in the Spring Security documentation.

See gh-7958
7 years ago
Stephane Nicoll 1dc08fdda2 Polish "Provide dependency management for JUnit Jupiter"
Closes gh-10240
7 years ago
Eddú Meléndez bb4a8cdc0e Provide dependency management for JUnit Jupiter
Spring Framework 5 provides support for JUnit 5. This commit adds
dependency management for JUnit 5 and an upgrade for
spring-boot-sample-junit-jupiter sample.

See gh-10240
7 years ago
Andy Wilkinson ad4ce9cf57 Return objects from trace, audit event, and thread dump endpoints
Closes gh-7648
7 years ago
Andy Wilkinson a6b30a3aab Reflect context hierarchy in beans endpoint’s response structure
Closes gh-10156
7 years ago
Andy Wilkinson ab54801143 Improve structure of response from configprops endpoint
Closes gh-10162
7 years ago
Andy Wilkinson 9242def4c0 Improve structure and JSON serialization of beans endpoint's response
Closes gh-10156
7 years ago
Stephane Nicoll afda0ec129 Default Hibernate DDL auto to none with Flyway/Liquibase
This commit adds a strategy interface to specific if a given DataSource
has its schema managed. The Hibernate auto-configuration uses it to set
it to "none" if a mechanism to initialize the DataSource is
found and "create-drop" otherwise.

Both Flyway and Liquibase implements that strategy interface and
register it in the context accordingly.

Closes gh-9262
7 years ago
Stephane Nicoll b91ceef621 Polish "Polish"
Closes gh-10109
7 years ago
Johnny Lim db76112700 Polish
See gh-10109
7 years ago
Phillip Webb 2c97d3a5e9 Polish 7 years ago
Stephane Nicoll 98455e30dc Rename default endpoint settings to "default"
Closes gh-10098
7 years ago
Madhura Bhave 919dfd3f90 Remove unused properties and constants
Since the autoconfig totally backs off in the presence
of a WebSecurityConfigurerAdapter, there is no need to
order them ahead of/after the one provided by Spring Boot.

See gh-7958
7 years ago
Stephane Nicoll da65158eae Disable Jolokia by default
To be consistent with Actuator web endpoints, Jolokia is now disabled
by default.

Closes gh-10090
7 years ago
Madhura Bhave e08ddbf838 Rework security autoconfiguration
This commit combines security autoconfigurations for
management endpoints and the rest of the application. By default,
if Spring Security is on the classpath, it turns on @EnableWebSecurity.
In the presence of another WebSecurityConfigurerAdapter this backs off
completely. A default AuthenticationManager is also provided with a user
and generated password. This can be turned off by specifying a bean of
type AuthenticationManager, AuthenticationProvider or UserDetailsService.

Closes gh-7958
7 years ago
Stephane Nicoll 08ce7e24d7 Polish 7 years ago
Stephane Nicoll 68fcea7b9a Migrate endpoints.cors to management.endpoints.cors
This commit moves CORS properties out of the endpoints namespace as they
do not refer to a "cors" endpoint but rather to the CORS configuration
of all endpoints.

Closes gh-10053
7 years ago
Andy Wilkinson ee16332745 Update Actuator to use the new endpoint infrastructure
This commit migrates the Actuator onto the new endpoint infrastruture.
In addition to the existing support for accessing the endpoints via
JMX and HTTP using Spring MVC, support for access via HTTP using
Jersey and WebFlux has been added. This includes using a separate
management port where we now spin up an additional, appropriately
configured servlet or reactive web server to expose the management
context on a different HTTP port to the main application.

Closes gh-2921
Closes gh-5389
Closes gh-9796
7 years ago
Andy Wilkinson 0aa39d0279 Improve the package structure of spring-boot-actuator module
Closes gh-7545
7 years ago
Andy Wilkinson 5aae23d8ea Update OAuth Actuator sample tests to adapt to sensitivity removal
See gh-9924
7 years ago
Andy Wilkinson 52536dc291 Update Actuator UI sample test to adapt to sensitivity removal
See gh-9924
7 years ago
Andy Wilkinson bb55f49396 Remove concept of sensitivity from Actuator's endpoints
Closes gh-9924
7 years ago
Andy Wilkinson 847f6d1b2c Update test in Actuator sample to adapt to changes in env response
See gh-9864
7 years ago
Andy Wilkinson 4f76a560b8 Fix the Actuator sample 7 years ago
Andy Wilkinson 9f75da9a8f Simplify the Actuator's hypermedia support
This commit replaces the Acuator's support for hypermedia with a
single endpoint that returns HAL-formatted links to all of the
available endpoints. This is done without requiring Spring HATEOAS
to be on the classpath in a similar manner to the existing
CloudFoundry discovery endpoint.

Closes gh-9901
7 years ago
Andy Wilkinson fb3d79c750 Drop support for self-hosted Actuator docs
Closes gh-9899
7 years ago
Andy Wilkinson 6f864c6210 Fix up version numbers following release 7 years ago
Spring Buildmaster 17a5bb0be4 Next development version 7 years ago
Stephane Nicoll 75fc0c38c8 Merge branch '1.5.x' 7 years ago
Johnny Lim fe1eb8b5f3 Polish
See gh-9855
7 years ago
Andy Wilkinson 39b4270b7e Fix up version numbers following release 7 years ago
Spring Buildmaster 41c5c0e7c9 Next development version 7 years ago
Stephane Nicoll dbce7d8935 Polish "Add JUnit Jupiter sample application"
Closes gh-8048
7 years ago
Eddú Meléndez f1664db85e Add JUnit Jupiter sample application
See gh-8048
7 years ago
Phillip Webb 9db72450da Merge branch '1.5.x' 7 years ago
Phillip Webb 68910f2b8f Polish 7 years ago
Stephane Nicoll e8566c8764 Merge branch '1.5.x' 7 years ago
Raja Kolli 931eca188e Fix JOOQ sample's compiler configuration
Closes gh-9672
7 years ago
Phillip Webb a57e6495dd Migrate from FileSystemUtils.deleteRecursively
Update test to migrate away from the now deprecated FileSystemUtils.
7 years ago
Madhura Bhave ecaa6340e2 Update path in actuator sample tests 7 years ago
Madhura Bhave b58923a42d Merge branch '1.5.x' 7 years ago
Madhura Bhave 0f8a819af9 Enable cors in default management security config
Fixes gh-9548
7 years ago
Johnny Lim 360e3a492c Polish
closes gh-9729
7 years ago
Phillip Webb 8e3baf3130 Polish 7 years ago
Stephane Nicoll fa71051ec6 Polish "Upgrade to Infinispan 9.0.3.Final"
Closes gh-9688
7 years ago
Andy Wilkinson f26f8176b6 Start building against Spring Session 2.0 snapshots
See gh-9541
8 years ago
Eddú Meléndez b1f96a4641 Improve sample to use fragment expression by thymeleaf 3
Avoid repeated title text making use of capabilities in thymeleaf 3.

Closes gh-9561
8 years ago
Andy Wilkinson 991314c63d Merge branch '1.5.x' 8 years ago
Andy Wilkinson 59122358d3 Clean up and format code 8 years ago
Andy Wilkinson 4a030d5a7a Drop support for auto-configuring an embedded Elasticsearch node
Elastic have announced [1] that embedded Elasticsearch is no longer
supported. This commit brings us into line with that announcement by
removing the auto-configuration that would create an Elasticsearch
Node and NodeClient.

To use the Elasticsearch auto-configuration, a user must now provide
the address of one or more cluster nodes
(via the spring.elastisearch.cluster-nodes property) which will then
be used to create a TransportClient.

See gh-9374

[1] https://www.elastic.co/blog/elasticsearch-the-server
8 years ago
Andy Wilkinson f7e9ec5f42 Minimise our usage of SocketUtils.findAvailableTcpPort
Closes gh-9382
8 years ago
Stephane Nicoll aa083996f9 Fixup version numbers following release 8 years ago
Spring Buildmaster 05d4d0281c Next Development Version 8 years ago
Andy Wilkinson f4c9ab78b2 Fix WebFlux sample's reactor-test dependency
See gh-9427
8 years ago
Stephane Nicoll 040c12bc85 Merge branch '1.5.x' 8 years ago
Stephane Nicoll fc38c1ba4d Improve cache sample
Clarify the cache sample and in particular that Infinispan does not
bootstrap with a default configuration file. Hence the custom
`infinispan.xml` configuration is enabled by default if Infinispan is
available on the classpath.

See gh-9417
8 years ago
Stephane Nicoll 7f420d1268 Polish contribution
Closes gh-9411
8 years ago
Vedran Pavic db060c847d Ensure `QuartzDatabaseInitializer` is initialized before `Scheduler`
If the auto-configured `Scheduler` instance backed by JDBC job store is
used as a dependency in an application component, the initialization of
`Scheduler` will be triggered before `QuartzDatabaseInitializer`. This
will result in failure due to schema not being prepared in time for
`Scheduler` to populate job details.

This commit ensures `QuartzDatabaseInitializer` is initialized before the
auto-configured `Scheduler` by introducing a dependency between the two.

See gh-9411
8 years ago
Phillip Webb 2c7dd9f519 Polish 8 years ago
Stephane Nicoll 90498a0b2f Fix broken build 8 years ago
Stephane Nicoll 59a15b259c Polish "Add Quartz Scheduler support"
Closes gh-4299
8 years ago
Vedran Pavic 9e23206c31 Add Quartz Scheduler support
See gh-4299
8 years ago
Madhura Bhave d745b69630 Replace usages of EnvironmentTestUtils 8 years ago
Brian Clozel fed8c8a681 Adapt WebFlux.fn auto-config to SPR-15536
Since SPR-15536, WebFlux.fn is now configured with `@EnableWebFlux`,
along the annotated controllers. Both `RouterFunction` and Controller
instances can now live within the same application and they share
the same web infrastructure.

This commit removes the custom auto-configuration for `RouterFunction`
and relies on `@EnableWebFlux` for that.

Closes gh-9165
8 years ago
Mark Paluch 7e8e2c486e Adapt to relocated packages in Spring Data Cassandra
See gh-9291
8 years ago
Andy Wilkinson d5438c299c Polish "Use try-with-resources to close resources automatically"
- Apply code formatting
- Use try-with-resources in many other places that were missed in the
  pull request

Closes gh-8045
8 years ago
Stephane Nicoll d0670d5b95 Fix reference to actuator endpoints
Closes gh-9247
8 years ago
Phillip Webb 889d43ddc4 Refine SpringApplication source types
Update `SpringApplication` so that the `run` methods and constructors
now require `Class<?>` arguments, rather than `Objects`. String based
sources can still be loaded, but must now be set on the `getSources()`
collections. `Package` and `Resource` types are no longer directly
supported.

This change should help IDEs offer better content assist, and will
help integrations with alternative languages such as Ceylon.

Users currently passing in Class references or using the
`spring.main.sources` property should not be affected by this change. If
an XML resource is being used, some refactoring may be required (see the
changes to `SampleSpringXmlApplication` in this commit).

Fixes gh-9170
8 years ago
Phillip Webb 302f038e84 Polish 8 years ago
Stephane Nicoll 2e94fd4434 Remove support for Spring Loaded
Closes gh-7978
8 years ago
Madhura Bhave dc7b3f6d6e Update samples to use new generator mappings
Closes gh-7612
8 years ago
Andy Wilkinson a3f3740725 Remove Tomcat 8.0-based SSL sample
We now require Tomcat 8.5
8 years ago
Andy Wilkinson 771343e31b Update OAuth2 sample following breaking API change in Spring Security
See gh-8714 and 9480e09c21
8 years ago
Andy Wilkinson 822b473cbe Update samples following API changes in Spring Data snapshots
findOne is now findById
8 years ago
Brian Clozel f2c63706da Change default file extension for Mustache templates
This commit changes the default file extension for Mustache templates,
from `.html` to `.mustache`, which is the file extension used in the
official reference documentation and by most IDE plugins.

Fixes gh-8997
8 years ago
Brian Clozel 4d5dcca553 Add Thymeleaf auto-configuration for WebFlux
Thymeleaf 3.0 implements the Spring 5.0 view infrastructure for WebMVC
and the new WebFlux framework. This commit adds auto-configuration for
the WebFlux support.

In that process, the configuration property for `spring.thymeleaf` has
been changed to add `spring.thymeleaf.servlet` and
`spring.thymeleaf.reactive` for MVC/WebFlux specific properties.

Now that the `spring-boot-starter-thymeleaf` does not only support
Spring MVC, the transitive dependency on `spring-boot-starter-web` is
removed from it.

Fixes gh-8124
8 years ago
Madhura Bhave 829ab59757 Use new configuration properties in samples
Update `spring-boot-samples` to use the new configuration properties
support.

See gh-9000
8 years ago
Phillip Webb 45dd9f7144 Polish 8 years ago
Madhura Bhave bc1ee76b55 Change default for new_generator_mappings to true
Closes gh-7612
8 years ago
Phillip Webb 06558675bb Polish 8 years ago
Brian Clozel 7e77e648bf Add Mustache support for Spring WebFlux apps
This commit moves the existing Spring MVC Mustache support to its own
`servlet` package and adds a new one under `reactive` for the WebFlux
web applications.

New `MustacheView` and `MustacheViewResolver` types resolve and render
Mustache views for WebFlux applications.

Since this templating engine is now supported by two flavors of Spring
web apps, the `spring-boot-starter-mustache` does not depend anymore on
the `spring-boot-starter-web` one: it's up to the developer to add the
relevant starter `web` or `webflux` to their application.

Fixes gh-8648
8 years ago
Madhura Bhave c2e5fd031a Replace usage of WebMvcConfigurerAdapter
Closes gh-8964
8 years ago
Stephane Nicoll 9327b58304 Fixup version numbers following release 8 years ago
Spring Buildmaster 9768b0a8c2 Next Development Version 8 years ago
Phillip Webb 700f0ea93c Fix WebClientTest calls
Update calls to WebClientTest following upstream changes.
8 years ago
Madhura Bhave bcd79dd992 Move all actuators under `/application`
Context path can be configured via `management.context-path`.

Closes gh-6886
8 years ago
Stephane Nicoll 42c1eb894e Merge branch '1.5.x' 8 years ago
Stephane Nicoll 8c21e16cf1 Add reference to Infinispan starter
Closes gh-8592
8 years ago
Phillip Webb c4cba6b0ea Merge branch '1.5.x' 8 years ago
Phillip Webb d301d0f4c3 Merge branch '1.4.x' into 1.5.x 8 years ago
Phillip Webb 758ddcd420 Polish 8 years ago
Madhura Bhave 971057705d Merge branch '1.5.x' 8 years ago
Madhura Bhave 535451f9e5 Merge branch '1.4.x' into 1.5.x 8 years ago
Madhura Bhave b2f0ebfcb8 Prevent empty json for parameters in trace endpoint
Fixes gh-8883
8 years ago
Stephane Nicoll 2d169d526a Merge branch '1.5.x' 8 years ago
Stephane Nicoll fffb53ccf5 Fix neo4j embedded documentation
The neo4j embedded driver no longer embeds the neo4j kernel and users are
expected to add that dependency manually. We don't provide dependency
management for any of them so this commit updates the documentation to
refers to the official documentation.

Closes gh-8567
8 years ago
Vedran Pavic 2667b7f51c Upgrade to Hazelcast 3.8
Closes gh-8808
8 years ago
Phillip Webb 2de7e9c310 Merge branch '1.5.x' 8 years ago
Phillip Webb 3b93bb46e0 Revert accidental call to `.close()`
Remove call to `.close()` which was accidentally left in after some
performance testing.
8 years ago
Phillip Webb ad38776de3 Polish 8 years ago
Andy Wilkinson 5cb1f3209e Reinstate Verify.java that was removed in 47c0c3c0 8 years ago
Andy Wilkinson 47c0c3c0ef Update samples with Gradle configuration to align with new plugin 8 years ago
Stephane Nicoll db33a75484 Enable transaction management consistently
Previously to this commit, transaction management was only enabled when
a `DataSource` is configured. The processing of `@Transactional`
annotations are now enabled as long as a `PlatformTransactionManager` is
present.

Also, the `spring.aop.proxy-target-class` is now honoured if set, still
defaulting to CGLIB mode.

Closes gh-8434
8 years ago
Andy Wilkinson a9a31107cf Align with API changes in latest Spring Data Kay snapshots
See gh-7461
8 years ago
Andy Wilkinson 25bf4a14cd Start building against Neo4j OGM 3.0.0 snapshots
This commit our Neo4j OGM dependency with the Spring Data Neo4j
snapshots that are currently included in snapshots of Spring Data Kay.

It switches to using Neo4j's Bolt driver by default, aligning it with
the default of the latest Spring Data Neo4j 5 snapshots.

It also contains a workaround for a Neo4j OGM issue [1] and a change
to Neo4jDataAutoConfigurationTests that prevents the entire classpath
from being scanned.

See gh-8687

[1] https://github.com/neo4j/neo4j-ogm/issues/340
8 years ago
Stephane Nicoll 0c4c2f4bf4 Harmonize webflux sample test 8 years ago
Phillip Webb b76ca0bf8f Restructure web auto-configuration
Restructure `org.springframework.boot.autoconfigure.web` to better align
with the new package structure in `spring-boot`.

Auto-configuration is now split into client, servlet and reactive
sub-packages. In addition a new `http` package now handles common
HTTP concerns.

Fixes gh-8616
8 years ago
Phillip Webb 33e54ed723 Relocate `org.springframework.boot.web.support`
Move `org.springframework.boot.web.support` under the `servlet` package.

Fixes gh-8557
8 years ago
Phillip Webb 67556ba8ea Restructure embedded web server packages
Rework `org.springframework.boot.context.embedded` to relocate classes
to `org.springframework.boot.web`. Packages are now organized around
the following areas:

Packages for shared concerns, for example the `WebServer` interface
to start/stop a server and the common configuration elements:
- org.springframework.boot.web.context
- org.springframework.boot.web.server

Servlet specific packages:
- org.springframework.boot.web.servlet.server
- org.springframework.boot.web.servlet.context
- org.springframework.boot.web.servlet.filter

Reactive specific packages:
- org.springframework.boot.web.reactive.context
- org.springframework.boot.web.reactive.server

Embedded server implementations (both reactive and servlet):
- org.springframework.boot.web.embedded

In addition:

- Rename `EmbeddedServletContainerFactory` to `ServletWebServerFactory`
  to align with the `ReactiveWebServerFactory`.
- Rename `EmbeddedWebApplicationContext` to
  `ServletWebServerApplicationContext` and
- Rename `EmbeddedReactiveWebApplicationContext` to
  `ReactiveWebServerApplicationContext`.
- Add checkstyle rules to restrict imports.
- Fixup all affected code to use the correct imports and local names.

Fixes gh-8532
8 years ago
Phillip Webb d8f827d224 Cleanup and format code 8 years ago
Phillip Webb 425dbc3e52 Update copyright header for edited files 8 years ago
Phillip Webb 2a592103f0 Polish formatting 8 years ago
Stephane Nicoll 3cdc81c351 Fixup version numbers following release 8 years ago
Spring Buildmaster d23fa24340 Next Development Version 8 years ago
Stephane Nicoll dac3810bc1 Fixup version numbers following release 8 years ago
Spring Buildmaster 2a83e80a9b Next Development Version 8 years ago
Vedran Pavic 1c789f1a8d Remove dependency management for `hibernate-entitymanager`
Closes gh-8433
8 years ago
Stephane Nicoll cb40ea485b Merge branch '1.5.x' 8 years ago
Stephane Nicoll 5cc569fc91 Improve execution speed of `CacheAutoConfigurationTests`
As of Hazelcast 3.7, the bootstrap is pretty slow by default due to the
networking discovery. This commit disables both TCP/IP and multicast
discoveries.
8 years ago
Phillip Webb a4bcd20b64 Merge branch '1.5.x' 8 years ago
Phillip Webb ca1540cefe Update header copyright for changed files 8 years ago
Phillip Webb 5867cd6175 Polish 8 years ago
Phillip Webb 47fd5f4fac Merge branch '1.4.x' into 1.5.x 8 years ago
Phillip Webb 47b00c086c Polish 8 years ago
Stephane Nicoll 12397edbd4 Expose a WebTestClient with `@SpringBootTest`
This commit exposes a `WebTestClient` automatically in a reactive
integration test that uses an embedded web server. This is similar to
what we do with `TestRestTemplate` for servlet based integration tests.

Closes gh-8399
8 years ago
Brian Clozel c1e93d8991 Add WebFlux application sample
This commit adds a sample application for the
annotation variant of Spring WebFlux.
8 years ago
Andy Wilkinson ad30ad808b Merge branch '1.5.x' 8 years ago
Andy Wilkinson 4f29bc9c14 Make mvn verify work without install of spring-boot-dependencies
Previously, the custom layout sample could only be built successfully
if spring-boot-dependencies had be installed locally, making its
effective pom available in the local Maven cache.

This commit updates the sample's tests to look at its own pom to
determine the version of Spring Boot that should be used in the
Gradle tests.

Closes gh-8330
8 years ago
Stephane Nicoll 093140ae44 Merge branch '1.5.x' 8 years ago
Stephane Nicoll 842170768d Polish cache sample readme
Closes gh-8272
8 years ago
Andy Wilkinson df08863641 Make ServletRegistrationBean and FilterRegistration bean generic
Closes gh-7666
8 years ago
Andy Wilkinson fbf493b1e8 Merge branch '1.5.x' 8 years ago
Andy Wilkinson ab192d01cc Merge branch '1.4.x' into 1.5.x 8 years ago
Andy Wilkinson 7e030d2068 Polish 8 years ago
Andy Wilkinson 1efa700713 Merge branch '1.5.x' 8 years ago
Andy Wilkinson 25982ecf69 Merge branch '1.4.x' into 1.5.x 8 years ago
Andy Wilkinson 04c8b912ee Fall back to standard LiveBeansView behaviour when MBean is in use
Closes gh-8146
8 years ago
Brian Clozel 12d883f6b9 Introduce "server.servlet" configuration prefix
This commit refactors the `ServerProperties` property keys and
introduces a separate "server.servlet" namespace to isolate
servlet-specific properties from the rest.

Closes gh-8066
8 years ago
Stephane Nicoll b2ec03cd4e Restore couchbase support
This commit effectively reverts the changes that were applied to
workaround the breakage in spring-data-couchbase.

Closes gh-8200
8 years ago
Brian Clozel 8619d6a229 Rename EmbeddedServletContainer -> EmbeddedWebServer
This contract is not specific to servlet containers and should be
reused by all web server implementations (including reactive variants).

Fixes gh-8208
8 years ago
Stephane Nicoll 6af6e8e31b Remove auto-configuration for ServerProperties
This commit removes `ServerProperties` and `ManagementServerProperties`
auto-configurations. Those properties objects are now created using
`@EnableConfigurationProperties` only.

Closes gh-8108
8 years ago
Stephane Nicoll e0c8e1f514 Ignore test until couchbase support is restored
The changes required to restore our Couchbase support are too involved
and we should hear from the data couchbase team first.

See gh-8200
8 years ago
Stephane Nicoll cfdc75d384 Merge branch '1.5.x' 8 years ago
Stephane Nicoll 4d7b03b002 Polish contribution
Closes gh-8202
8 years ago
John Blum 31ed70e1b8 Improve spring-boot-sample-cache UX by using Maven profiles
See gh-8202
8 years ago
Madhura Bhave 5dafa3ae9c Fixup version numbers following release 8 years ago
Andy Wilkinson 95f659f4f9 Add new WebApplicationType enum to pave the way for Web Flux support
Closes gh-8077
8 years ago
Spring Buildmaster 5c12500366 Next Development Version 8 years ago
Andy Wilkinson c00638fee3 Remove Thymeleaf's layout dialect from its starter and update samples
Closes gh-7557
8 years ago
Andy Wilkinson a9656145de Fix up version numbers following release 8 years ago
Spring Buildmaster a2696bf873 Next Development Version 8 years ago
Andy Wilkinson bed727ae8c Merge branch '1.5.x' 8 years ago
Andy Wilkinson f34d309548 Formatting 8 years ago
Stephane Nicoll bd0c1cb9c3 Fixup version numbers following release 8 years ago
Spring Buildmaster ed1ce140c0 Next Development Version 8 years ago
Andy Wilkinson 9bba73a1a9 Upgrade to Thymeleaf 3 and drop support for Thymleaf 2
This commit raises the minimum supported version of Thymeleaf to
3.0.x. It also upgrades Spring Social to a version that is compatible
with Thymeleaf 3.

Closes gh-7450
Closes gh-6258
See gh-7885
8 years ago
Andy Wilkinson 9c77708fcb Remove Jetty 9.3 sample that was missed in dbd10a8d
See gh-7985
8 years ago
Andy Wilkinson dbd10a8daa Remove support for Jetty 9.3 and earlier
Closes gh-7985
8 years ago
Andy Wilkinson 0807c27c26 Complete removing support for Tomcat 7
Closes gh-6416
8 years ago
Andy Wilkinson 0f998e2ae1 Merge branch '1.5.x' 8 years ago
Andy Wilkinson 013d45a4d7 Upgrade to Jetty 9.4.1.v20170120
Closes gh-7750
8 years ago
Andy Wilkinson fa22396dae Merge branch '1.5.x' 8 years ago
Andy Wilkinson 1a69a4ff67 Remove unnecessary use of @Autowired in the samples 8 years ago
Phillip Webb 8ffaa54e74 Merge branch '1.5.x' 8 years ago
Phillip Webb 2c89d9918f Relocate AutoConfigurations from root package
Move PropertyPlaceholder and MessageSource auto-configuration from the
root package to the `context` subpackage.

Fixes gh-8071
8 years ago
Phillip Webb 3893383cbe Merge branch '1.5.x' 8 years ago
Phillip Webb 5703fb1515 Polish 8 years ago
Andy Wilkinson 863d505994 Merge branch '1.5.x' 8 years ago
Andy Wilkinson 07d9c3fef6 Rename classes and package in new OAuth2 and Actuator sample
Closes gh-8058
8 years ago
Stephane Nicoll 4fe04178b7 Merge branch '1.5.x' 8 years ago
Stephane Nicoll 915c959a28 Polish contribution
Closes gh-7600
8 years ago
Phillip Webb 89f7ec054f Merge branch '1.5.x' 8 years ago
Phillip Webb f3cd0ad22c Polish 8 years ago
Phillip Webb 5502fa2936 Merge branch '1.5.x' 8 years ago
Phillip Webb 10dbf3c571 Use `@Validated` as trigger for JSR-330 validation
Update `ConfigurationPropertiesBindingPostProcessor` so that
`@Validated` is expected to be used to trigger JSR-330 validation.

Any existing configuration classes that use JSR-330 annotations but
don't have `@Validated` will currently still be validated, but will
now log a warning. This should give users a chance to add the requested
annotations before the next Spring Boot release where we will use them
as the exclusive signal that validation is required.

Closes gh-7579
8 years ago
Andy Wilkinson 5036fc50fc Merge branch '1.5.x' 8 years ago
Andy Wilkinson 29adf2d85e Ensure that test closes InputStream that reads contents of output files 8 years ago
Andy Wilkinson c2efae06f0 Merge branch '1.5.x' 8 years ago
Andy Wilkinson 2973d3ed4b Polishing 8 years ago
Andy Wilkinson 467350a65d Merge branch '1.5.x' 8 years ago
Andy Wilkinson ed18478054 Give FileWritingMessageHandler more time to sort itself out
See 3927dca3
8 years ago
Andy Wilkinson 3fd597481f Merge branch '1.5.x' 8 years ago
Andy Wilkinson 682d0f524f Test insecure, insensitive endpoint with property that's always available
The user property is only available on Unix-like platforms (due to
the USER environment variable). This commit updates the test to
explicitly set a specific property and then check that it's accessible
via the env endpoint rather than using one that is OS-specific.

See gh-7868
See gh-7881
8 years ago
Andy Wilkinson f87e8d1def Merge branch '1.5.x' 8 years ago
Andy Wilkinson 8666248d27 Polishing 8 years ago
Andy Wilkinson 1ad7a66f03 Merge branch '1.5.x' 8 years ago
Andy Wilkinson 3927dca3e0 Tolerate files being briefly left open by FileWritingMessageHandler
When the context is closed, FileWritingMessageHandler is stopped and
it closes its output files. However, it appears to do so in a manner
which means that they may be closed after the call to close the
context is completed. This causes problems on Windows as files that
are still open cannot be deleted.

This commit adds a workaround to SampleIntegrationApplicationTests
so that it makes up to 10 attempts each 0.5s apart to clean up the
input and output directories.
8 years ago
Stephane Nicoll f4f5a70cb2 Merge branch '1.5.x' 8 years ago
Johnny Lim acc36c076d Polish
See gh-8004
8 years ago
Stephane Nicoll 752a91c75b Merge branch '1.5.x' 8 years ago
Stephane Nicoll 7e557662a5 Polish contribution
Closes gh-7916
8 years ago
Praveendra Singh 36de58f0fe Polish samples list in readme
See gh-7916
8 years ago
Andy Wilkinson ae3434ba4c Merge branch '1.4.x' into 1.5.x 8 years ago
Andy Wilkinson d2201d5284 Correct copyright dates and enforce that starting year is 2012
Closes gh-7923
8 years ago
Phillip Webb b99c2daf31 Fixup broken version number 8 years ago
Phillip Webb c35454e5f4 Merge branch '1.5.x' 8 years ago
Phillip Webb f96294b63b Add LDAP sample
Add an LDAP sample application.

See gh-7733
8 years ago
Madhura Bhave 4ea47220e9 Match nested paths for insensitive actuators
Update `ManagementWebSecurityAutoConfiguration` to match nested path
for insensitive actuators.

Prior to this commit, when Spring Security was on the classpath
nested paths were considered sensitive (even if the actuator
endpoint was not sensitive). i.e. when setting
`endpoints.env.sensitive=false` `/env` could be accessed without
authentication but `/env/user` could not.

Fixes gh-7868
Closes gh-7881
8 years ago
Phillip Webb 18aa9be4fb Merge branch '1.4.x' into 1.5.x 8 years ago
Phillip Webb 21bfe52694 Add test to check class resources aren't exposed
Closes gh-7880
8 years ago
Phillip Webb 77f9bb09ca Further Polish Mockito 2 support
See gh-7770
8 years ago
Phillip Webb 7f99153daf Fixup parent POM version number 8 years ago
Phillip Webb 6776ec2704 Merge branch '1.5.x' 8 years ago
Phillip Webb 565f75438e Polish 8 years ago
Dave Syer 21be9ef666 Merge remote-tracking branch 'origin/1.5.x' 8 years ago
Dave Syer fe344df9c5 Change default order of OAuth2 resource server filter chain
The default is now SecurityProperties.ACCESS_OVERRIDE_ORDER-1
(instead of 3), and the user can set it with
security.oauth2.resource.filter-order (as opposed to being hard
coded). The filter is provided by Spring OAuth2 so this change is
a BeanPostProcessor to call a setter on that object.

Fixes gh-5072
8 years ago
Phillip Webb 53f1df86a2 Merge branch '1.5.x' 8 years ago
Phillip Webb aacf5d660f Update copyright year for changed files 8 years ago
Phillip Webb be3fe12cf0 Polish 8 years ago
Phillip Webb 273beaa3ce Polish 8 years ago
Stephane Nicoll 4604bb7e8a Merge branch '1.5.x' 8 years ago
Stephane Nicoll c903ff46a7 Polish samples 8 years ago
Stephane Nicoll a19a28062f Fix actuator security in samples
Closes gh-7637
8 years ago
Stephane Nicoll 9dfaf4de06 Merge branch '1.5.x' 8 years ago
Stephane Nicoll 3ed5a723bb Polish log4j2 sample 8 years ago
Phillip Webb 519f9c6c54 Merge branch '1.5.x' 8 years ago
Phillip Webb 97d7ffd8e8 Merge branch '1.4.x' into 1.5.x 8 years ago
Phillip Webb 61c931943f Fix Devtools PatternResolver Servlet support
Update ClassLoaderFilesResourcePatternResolver to support servlet
resources when it's being used with a WebApplicationContext.

Prior to commit 918e122ddc a `ResourceLoader` was not added to the
`ApplicationContext`, meaning that servlet resources could be found by
virtue of the protected `getResourceByPath()` method. Following commit
918e122ddc, the context `ResourceLoader` is set, meaning that all calls
to `getResource` delegate to the `ResourceLoader` and the
`ApplicationContext` methods are not invoked. Since the devtools
`ResourceLoader` wasn't Servlet aware, servlet resources could not
be found.

Fixes gh-7752
8 years ago
Phillip Webb 49fa702708 Merge branch '1.5.x' 8 years ago
Phillip Webb 85504e74a6 Merge branch '1.4.x' into 1.5.x 8 years ago
Mesut Can Gurle ab2290eecd Improve Cassandra sample README documentation
Update the README file in `spring-boot-sample-data-cassandra` with
details of how to setup the keyspace and create the tables.

Closes gh-7737
8 years ago
Phillip Webb 61f65ea10e Add test for devtools + serving from `/public`
Add a simple test to show that basic serving of `/public` resources
works with devtoos.

See gh-7752
8 years ago
Stephane Nicoll 80df396e3c Fix parent version 8 years ago
Phillip Webb 291752a317 Merge branch '1.5.x' 8 years ago
Phillip Webb a116579cfc Work around Jetty websocket client bug
Add workaround for Jetty JsrSession NullPointerException bug
(https://github.com/eclipse/jetty.project/issues/1202) in
`spring-boot-sample-websocket-jetty`.

See gh-7599
8 years ago
Phillip Webb a23591e047 Support Jetty 9.4 and upgrade to 9.4.0.v20161208
Update `JettyEmbeddedServletContainerFactory` to support Jetty 9.4
directly and Jetty 9.3 via reflection. The primary difference between
Jetty 9.3 and 9.4 are the session management classes. Websocket suppport
has also been updates, but this is handled transparently by the
Spring Framework support.

Fixes gh-7599
8 years ago
Phillip Webb c3edf9e341 Fixup version numbers following release 8 years ago
Spring Buildmaster 9057f9ae1f Next development version 8 years ago
Phillip Webb 6e02fe59f7 Merge branch '1.5.x' 8 years ago
Phillip Webb 982f41b70c Polish @IntegrationComponentScan auto-configuration
See gh-2037
See gh-7718
8 years ago
Stephane Nicoll ac9eb8a9a9 Fix Maven warning in samples
Closes gh-7716
8 years ago
Phillip Webb 1f417997f3 Merge branch '1.5.x' 8 years ago
Phillip Webb 6121208cbb Polish formatting 8 years ago