Commit Graph

1456 Commits (64a0d2f2ae5ac087dca7acea54f8a2bf83e21614)

Author SHA1 Message Date
Madhura Bhave e6eca04af2 Make EndpointRequestMatcher#excluding public
Fixes gh-12354
7 years ago
Andy Wilkinson 82c95e136f Avoid problems with Failsafe when building samples with JDK 10
See gh-12028
7 years ago
Andy Wilkinson 065456a4af Make JAX-B available to Jersey sample when building with JDK 10
See gh-12028
7 years ago
Andy Wilkinson 1bd0313c3d Avoid problems with Surefire when building samples with JDK 10
See gh-12028
7 years ago
Andy Wilkinson f7c8be1877 Apply java9 profile to JDK 10 (and later) as well as JDK 9
See gh-12028
7 years ago
Stephane Nicoll c2c8b7dfe8 Clarify the required changes to run certain samples with Java9
This commit moves the Java9-specific profile to each sample rather than
impacting all samples. That way, affected samples are more self
contained.

Closes gh-12302
7 years ago
Andy Wilkinson 5d041a628b Disable Jetty JSP sample tests with Java 9
Closes gh-10456
7 years ago
Andy Wilkinson 0858e9b368 Remove AspectJ version override in the samples' build
As of AspectJ 1.8.13, the override is no longer necessary to build
the samples.

See gh-11095
7 years ago
Andy Wilkinson 6336aa3956 Reinstate testing of JSP samples using Java 9
Closes gh-10456
7 years ago
Phillip Webb 9bee9e9cf9 Polish 7 years ago
Madhura Bhave df337eaf5e Fix author name 7 years ago
Phillip Webb 29c3be3590 Polish 7 years ago
Stephane Nicoll b4a7e1d64b Use toLowerCase() and toUpperCase() with Locale.ENGLISH
This commit updates all `toLowerCase()` and `toUpperCase` invocations to
use the variant that takes a `Locale` to avoid locale-specific side
effect.

Closes gh-12213
7 years ago
Phillip Webb 4b9c3c137e Polish Collection.toArray
Consistently use `StringUtils.toStringArray`, `ClassUtils.toClassArray`
or zero length when converting collections to arrays.

Fixes gh-12160
7 years ago
Phillip Webb cd5266ac03 Polish 7 years ago
Phillip Webb 9e75680e6f Polish 7 years ago
Madhura Bhave 51de220b55 Enable CSRF protection by default
Fixes gh-11758
7 years ago
Andy Wilkinson 17c7f027e0 Add details of the request mapping conditions to mappings endpoint
Closes gh-12080
7 years ago
Madhura Bhave 85aeb5c00d Fix path in tests 7 years ago
Phillip Webb 0348889fd7 Polish 7 years ago
Brian Clozel 2be0c46562 Remove TestRestTemplate constructors taking template args
As discussed in gh-11872, `TestRestTemplate` constructor variants taking
a `RestTemplate` argument are confusing since the main goal of that
class is to mutate `RestTemplate`.

This commit removes all those constructor variants and replaces them
with `RestTemplateBuilder` arguments when possible.

Closes gh-11872
7 years ago
Stephane Nicoll 7473642f58 Harmonize endpoints exclude property
Closes gh-11914
7 years ago
Andy Wilkinson 6d1d9eb816 Polish 7 years ago
Phillip Webb 5de46c3186 Polish 7 years ago
Phillip Webb 798522d890 Format with Eclipse Oxygen SR2 7 years ago
Stephane Nicoll 07fa8bcf75 Polish "Add Kafka sample"
Closes gh-11597
7 years ago
xinhc 89e1d95363 Add Kafka sample
See gh-11597
7 years ago
Andy Wilkinson a09c64e18c Polish 7 years ago
Andy Wilkinson 70c613819d Fix incomplete calls to assertThat 7 years ago
Andy Wilkinson 76a450dfba Format with Eclipse Oxygen SR2 7 years ago
Andy Wilkinson 8605499a64 Provide more control over when the health endpoint shows details
Closes gh-11869
7 years ago
dreis2211 81459efffa Use HTTPS URLs where applicable 7 years ago
Andy Wilkinson 4a1bea1fed Polish 7 years ago
Phillip Webb 09a64bc841 Fixup version numbers following release 7 years ago
Spring Buildmaster 6414b42335 Next Development Version 7 years ago
Andy Wilkinson 356efaa7c8 Rename trace to httptrace
Closes gh-11806
7 years ago
Madhura Bhave 134628a62d Add PathRequest to reactive security for parity 7 years ago
Madhura Bhave e80c22cbf8 Add RequestMatcher for H2 console
Fixes gh-11704
7 years ago
Phillip Webb b234501af3 Polish 7 years ago
Kim Rudolph fd1a7ba77c Migrate spring-boot-sample-web-ui to Bootstrap v4
Closes gh-10653
7 years ago
Phillip Webb adfb6dc128 Polish 7 years ago
Andy Wilkinson 3565961d68 Rework HTTP exchange tracing and add support for WebFlux
Closes gh-9980
7 years ago
Madhura Bhave d65f9b25bc Remove redundant throws Exception 7 years ago
Phillip Webb 017efda6ec Add @EndpointServlet and migrate Jolokia
Add first class support for Servlet based endpoints and rework the
Jolokia endpoint to use it.

Fixes gh-10264
7 years ago
Johnny Lim 768e7c07e6 Polish
Closes gh-11720
7 years ago
Phillip Webb bda9b892b3 Add direct WebFlux and WebMvc endpoint support
Add `@ControllerEndpoint` and `@RestControllerEndpoint` annotations that
can be used to develop a Spring-only request mapped endpoint. Both
Spring MVC and Spring WebFlux are supported.

This feature is primarily for use when deeper Spring integration is
required or when existing Spring Boot 1.5 projects want to migrate to
Spring Boot 2.0 without re-writing existing endpoints. It comes at the
expense of portability, since such endpoints will be missing from
Jersey.

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

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

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

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

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

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

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

Fixes gh-11428
Fixes gh-11581
7 years ago
Phillip Webb dc935fba48 Polish 7 years ago
Madhura Bhave d9ff51ccd3 Add StaticResourceRequest for WebFlux Security
Closes gh-11040
7 years ago
Madhura Bhave 5e2cc02499 Move servlet specific security auto-config 7 years ago
Phillip Webb f3379668ac Polish 7 years ago
Andy Wilkinson 6fb629227c Fix race condition in SampleQuartzApplicationTests 7 years ago
Stephane Nicoll 51f0d88eec Polish "Add test to spring-boot-sample-quartz"
Closes gh-11621
7 years ago
Eddú Meléndez 5f1f04a33a Add test to spring-boot-sample-quartz
See gh-11621
7 years ago
Andy Wilkinson 5b8a2f9675 Improve context hierarchy handling in Actuator endpoints
Previously, a number of Actuator endpoints ignored a context hierarchy
or assumed that it would always be linear. This commit reworks the
affected endpoints so that the no longer assume a linear hierarchy.

A side-effect of a non-linear hierarchy is that there may be multiple
different beans with the same name (in a linear hierarchy, a bean
with the same name as one in an ancestor context, replaces that bean).
The affected endpoints have also been updated so that, when bean names
are used as keys, those keys are grouped by application context. This
prevents a bean in one context from accidentially overwriting a bean
in another context.

Closes gh-11019
7 years ago
Brian Clozel 22c22a1ced Move server.session.* to server.servlet.session.*
Closes gh-11589
7 years ago
Johnny Lim 77150f8dc9 Polish
Closes gh-11630
7 years ago
Madhura Bhave e57aafd63d Provide EndpointRequest for WebFlux-based Security
Closes gh-11022
7 years ago
Phillip Webb b078698f20 Update copyright year of changed files 7 years ago
Phillip Webb 9cb5f3da89 Create DynamicRegistrationBean
Extract functionality from the `RegistrationBean` into a new class
designed to work with dynamic registration. Servet and Filter
registration beans now extend from `DynaimcRegistrationBean`, where as
`ServletListenerRegistrationBean` extends directly from
`RegistrationBean`.

This refactor allows the removal of `ServletListenerRegistrationBean`
deprecated methods.

Fixes gh-11344
7 years ago
Andy Wilkinson 93c5900d47 Merge branch '1.5.x' 7 years ago
Andy Wilkinson a9811e360a Add missing copyright headers to .java source files 7 years ago
Andy Wilkinson 5bbd31e7a3 Rename test classes so that their tests are run by Maven 7 years ago
Andy Wilkinson 268b97bf98 No-op ResetMocksTestExecutionListener when Mockito is not present
Closes gh-11508
7 years ago
Stephane Nicoll ac004eabf3 Update copyright header
See gh-11510
7 years ago
Johnny Lim 37d8eedae3 Polish
Closes gh-11510
7 years ago
Madhura Bhave 732d9868e3 Increase session timeout to prevent CI failures 7 years ago
Stephane Nicoll afba8fed79 Harmonize management.server.context-path property
This commit moves management.server.context-path to
management.server.servlet.context-path to align with the configuration
key for the application's main context path.

Closes gh-11359
7 years ago
Phillip Webb ed2460b091 Add support for animated GIFs
Update ImageBanner to support animated GIFs. Animations rely on ANSI
cursor codes so don't work so well in an IDE. They do, however, work
when running the app from a terminal.

See also commit 47bc5e71ab

Closes gh-11118
7 years ago
Stephane Nicoll 681fdb1ee8 Property detect Health web extension with management context
Previously, the Health web extension was defined in the management
context and, as a result, it wasn't found when a separate port was
required. The side effect is that anything that the health web extension
does was not active anymore in that case.

This commit makes sure that the extension is always defined as part of
the main context where operations are discovered and merged.

Closes gh-11285
7 years ago
Stephane Nicoll 1fdc1e373c Polish 7 years ago
Stephane Nicoll 23218add90 Polish 7 years ago
Madhura Bhave 47ed096981 Make default username and password configurable
Closes gh-10963
7 years ago
Johnny Lim 6d54072e04 Remove "final" keywords
Closes gh-11294
7 years ago
Brian Clozel eec7a8f075 Remove Web depedency from Freemarker starter
Now that Spring Boot supports Freemarker for both Spring MVC and Spring
WebFlux, the dedicated starter should not pull the Web starter
transitively and let developers manually choose the web stack.

Closes gh-11246
7 years ago
Stephane Nicoll 8efb608b7e Fixup version numbers following release 7 years ago
Spring Buildmaster df2ae7aa19 Next Development Version 7 years ago
Stephane Nicoll dfc0e392ed Polish "Fix references to management related properties"
Closes gh-11091
7 years ago
Vedran Pavic 63aef58d30 Fix references to management related properties
See gh-11091
7 years ago
Phillip Webb 07f71e889e Move `/application` to `/actuator`
Change the endpoint default path from `/application` to `/actuator`.

Fixes gh-10970
7 years ago
Phillip Webb 4412285c45 Polish Spring Session WebFlux sample
Closes gh-11055
7 years ago
Vedran Pavic a8c027ba8e Add Spring Session WebFlux sample
See gh-11055
7 years ago
Phillip Webb 31025d9f6c Drop status endpoint
Drop the status endpoint and merge functionality back into the health
endpoint. The `management.endpoint.health.show-details` property can
be used to change if full details, or just the status is displayed.

Fixes gh-11113
7 years ago
Johnny Lim 73c65286ea Polish 7 years ago
Johnny Lim 1783a072ad Remove explicit constructor super() calls
Closes gh-11068
7 years ago
Madhura Bhave 50a3c2fe2a Rename test to a more suitable name 7 years ago
Madhura Bhave 4a41c02926 Update redirect-uri-template in oauth sample and docs
Fixes gh-11014
7 years ago
Johnny Lim e8563c54dd Polish
Closes gh-11050
7 years ago
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