Commit Graph

2657 Commits (850517a8db98522bc6d67bdcd0920545a1c5bc47)

Author SHA1 Message Date
Andy Wilkinson b280e3092d Don't forward to welcome page that won't exist due to custom mapping
Previously, WelcomePageHandlerMapping would forward to index.html.
This assumed that the static path pattern was always /**. If it had
been customised to, for example, /foo/**, then the forward would still
be to index.html and a 404 would result as the page is actually
available at /foo/index.html.

At first glance, it would appear that the forward should be made to
foo/index.html. However, as it's a forward rather than a redirect,
any relative URLs in the index.html page would then be resolved using
/ whereas they should be resolved using /foo/. This could be addressed
by using a redirect rather than a forward, but we don't want to do
that as it's more invasive and would require a roundtrip back to the
client. Instead, this commit simply stops performing the forward when
the static path pattern is not /**.

Closes gh-8788
8 years ago
Stephane Nicoll 3915f37dae Merge branch '1.5.x' 8 years ago
Stephane Nicoll 5cc2e103f2 Disable unexpected datasource initialization
This commit restore the disabling of datasource initialization that was
accidently removed in db33a75 so that other tests aren't affected by it.
8 years ago
Stephane Nicoll 4c32d6a7de Merge branch '1.5.x' 8 years ago
Stephane Nicoll 0163731043 Automatically enable transaction management for Neo4j
This commit makes sure that `@EnableTransactionManagement` is
auto-configured with Neo4j. It actually reuses what was done in #8434,
making sure that the `Neo4jDataAutoConfiguration` is ordered properly.

Closes gh-8587
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 f52b0b975a Update WebFlux auto-configuration following recent API changes 8 years ago
Brian Clozel df2d6b370e Fix compilation error with latest webflux changes
See commit c5bcefbd in Spring Framework, which refactored
the RequestMappingHandlerAdapter.
8 years ago
Andy Wilkinson aaf76e435e Align with latest Neo4j OGM 3.0 snapshots
See gh-8687
8 years ago
Johnny Lim 287520a810 Polish
Closes gh-8698
8 years ago
Andy Wilkinson d322d8613b Upgrade to Flyway 4.1.2
Closes gh-8752
8 years ago
Madhura Bhave 0ab7c25d9f Revert "Change default for new_generator_mappings to true"
This reverts commit 735dbc4583.
8 years ago
Andy Wilkinson e0a80c287c Remove Tomcat 7.0 and 8.0-based WebSocket support
Closes gh-8615
8 years ago
Madhura Bhave 735dbc4583 Change default for new_generator_mappings to true
Closes gh-7612
8 years ago
Andy Wilkinson a9a31107cf Align with API changes in latest Spring Data Kay snapshots
See gh-7461
8 years ago
Andy Wilkinson 87ebec6838 Upgrade to Jackson 2.9.0.pr2
As part of the upgrade, this commit removes the use of any API that
has been deprecated in 2.9. This includes the config props endpoint's
use of SerializationFeature.WRITE_NULL_MAP_VALUES. This has been
replaced with configuring serialization inclusion to only include
properties with non-null values. This means that all null-valued
properties will no longer be serialized, not just those that are an
entry in a map.

Closes gh-8604
Closes gh-8537
Closes gh-7695
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
Phillip Webb 34de119eba Polish 8 years ago
Stephane Nicoll da7287322b Polish 8 years ago
Stephane Nicoll b7d3aad54b Merge branch '1.5.x' 8 years ago
Stephane Nicoll fa3679af71 Merge branch '1.4.x' into 1.5.x 8 years ago
Stephane Nicoll cd76da9a4c Avoid using immutable collections for configuration proprerties
Closes gh-8620
8 years ago
Andy Wilkinson 1893fdab0d Revert "Upgrade to Jackson 2.9.0.pr1"
This reverts commit 10ae5e8f3f. Health
serialization fails with Jackson 2.9.0 (gh-7695).

See gh-8537
8 years ago
Andy Wilkinson 10ae5e8f3f Upgrade to Jackson 2.9.0.pr1
As part of the upgrade, this commit removes the use of any API that
has been deprecated in 2.9.0.pr1. This includes the config props
endpoint's use of SerializationFeature.WRITE_NULL_MAP_VALUES. This
has been replaced with configuring serialization inclusion to only
include properties with non-null values. This means that all
null-valued properties will no longer be serialized, not just those
that are an entry in a map.

Closes gh-8604
Closes gh-8537
8 years ago
Stephane Nicoll 7ee5e43109 Merge branch '1.5.x' 8 years ago
Stephane Nicoll 22934e097d Merge branch '1.4.x' into 1.5.x 8 years ago
Vedran Pavic 17aad4f00c Improve `RedisSessionConfiguration` conditions
Closes gh-8582
8 years ago
Johnny Lim a3d15ed222 Polish
Closes gh-8621
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 099e188f9f Unify WebServerFactoryCustomizers
Replace `ReactiveWebServerCustomizer` and `WebServerFactoryCustomizer`
with a unified `WebServerFactoryCustomizer`.

Fixes gh-8558
8 years ago
Phillip Webb 13db69bf41 Drop superfluous `@Order` annotation
Remove `@Order` which has no effect on `ImportBeanDefinitionRegistrar`.

Fixes gh-8603
8 years ago
Phillip Webb 4100360ceb Make ReactiveWebServerFactory functional interface
Update `ReactiveWebServerFactory` to contain only a single method.

Fixes gh-8559
8 years ago
Phillip Webb 69b72874ea Extract logging listeners
Separate logging ApplicationListeners classes to a different package
so that the root `logging` package is no longer aware of `context`
concerns.

Fixes gh-8611
8 years ago
Madhura Bhave 517b30acbb Merge branch '1.5.x' 8 years ago
Madhura Bhave 8deb72be80 Fix ResourceServerProperties validation
Only try and validate if clientId is present.

Fixes gh-8565
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 b1f679b1c5 Fix HttpHandlerAutoConfiguration
Fix HttpHandlerAutoConfiguration following upstream Spring Framework
changes.
8 years ago
Stephane Nicoll 4f7e5efac8 Merge branch '1.5.x' 8 years ago
Stephane Nicoll 5d27c7e501 Handle non supported JOOQ dialect
This commit uses a fallback translator if the JOOQ Dialect in use is not
one we support.

Closes gh-8521
8 years ago
Stephane Nicoll 5ca197b5b6 Merge branch '1.5.x' 8 years ago
Stephane Nicoll f8bf05b91f Polish contribution
Closes gh-8474
8 years ago
srichard 0ddaca57fb Add Tomcat Access Log's fileDateFormat property
Closes gh-8396
8 years ago
Stephane Nicoll abef1ee4db Merge branch '1.5.x' 8 years ago
Stephane Nicoll feb1ab375f Merge branch '1.4.x' into 1.5.x 8 years ago
Eddú Meléndez 251090b1e5 Add missing spring-data-cassandra metadata
This commit adds the missing
`spring.data.cassandra.repositories.enabled` in the metadata and the
documentation.

Closes gh-8562
8 years ago
Stephane Nicoll 6624fe47c3 Merge branch '1.4.x' into 1.5.x 8 years ago
Stephane Nicoll e7922a574a Polish 8 years ago
Stephane Nicoll 68ef19b69b Merge branch '1.5.x' 8 years ago
Stephane Nicoll 207ab3ecb4 Merge branch '1.4.x' into 1.5.x 8 years ago
Stephane Nicoll 07c56c60ba Make sure Hazelcast bootstraps before any JCache setup
This commit makes sure that if a `javax.cache.CacheManager` is required,
an auto-configured `HazelcastInstance` is fully resolved first. This
prevents the case where the JCache bootstrap actually starts an instance
early, followed by a second (potentially unwanted) instance created by the
regular auto-configuration.

Since the JCache implementation works with an `HazelcastInstance` behind
the scenes, if there is one `HazelcastInstance` configured and it has a
name, then we configure the `CacheProvider` to use that. Future Hazelcast
version will allow to pass the instance directly (i.e. not requiring an
actual name).

Closes gh-8484
8 years ago
Johnny Lim 709ee23255 Polish
Closes gh-8526
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
Phillip Webb 91a7bf92e6 Merge branch '1.5.x' 8 years ago
Phillip Webb fedd7b9506 Polish 8 years ago
Phillip Webb a3d5101369 Merge branch '1.4.x' into 1.5.x 8 years ago
Phillip Webb f5aeac3658 Polish 8 years ago
Stephane Nicoll 546338ac80 Avoid early initializations for reactive support
This commit flags the `BeanPostProcessor` registered by the reactive
embedded support as `synthetic` so that it doesn't trigger an early
initialization of other components.

See gh-8467
8 years ago
Stephane Nicoll 36d6ab41a2 Merge branch '1.5.x' 8 years ago
Stephane Nicoll 28bba876fa Merge branch '1.4.x' into 1.5.x 8 years ago
Stephane Nicoll 9fb9a67c4b Avoid early initializations
This commit flags the two `BeanPostProcessors` registered by the
embedded support as `synthetic` so that they don't trigger an early
initialization of other components.

Closes gh-8467
8 years ago
Spring Buildmaster d23fa24340 Next Development Version 8 years ago
Spring Buildmaster 2a83e80a9b Next Development Version 8 years ago
Andy Wilkinson edc2facd7a Merge branch '1.5.x' 8 years ago
Andy Wilkinson 9e9f006720 Polish "Enable customization of RestTemplate that retrieves JwtAccessTokenConverter's key"
See gh-8268
See gh-5859
8 years ago
Eddú Meléndez dc9ff73805 Enable customization of RestTemplate that retrieves JwtAccessTokenConverter's key
Closes gh-8268
See gh-5859
8 years ago
Stephane Nicoll 2e1cda8743 Merge branch '1.5.x' 8 years ago
Stephane Nicoll d74af04724 Rename JSR 303 Validator bean name
Closes gh-8481
8 years ago
Stephane Nicoll 28a8e3db2f Remove spring.cache.hazelcast.config
Remove the creation of a separate `HazelcastInstance` specific to caching.
Instead, the general `HazelcastAutoConfiguration` is used and if a
`HazelcastInstance` bean is present we wrap it in a `CacheManager`.

Closes gh-8470
8 years ago
Stephane Nicoll d811b5fb1d Merge branch '1.5.x' 8 years ago
Stephane Nicoll bb8800a625 Deprecate spring.cache.hazelcast.config
The additional configuration for an `HazelcastInstance` will be removed
in 2.0. This commit makes sure that the property is deprecated in 1.5

See gh-8470
8 years ago
Vedran Pavic 1c789f1a8d Remove dependency management for `hibernate-entitymanager`
Closes gh-8433
8 years ago
Andy Wilkinson 5285a8db44 Merge branch '1.5.x' 8 years ago
Madhura Bhave 605b0aefc6 Simplify validation logic in ResourceServerProperties
Closes gh-8306
Closes gh-8317
8 years ago
Stephane Nicoll cb40ea485b Merge branch '1.5.x' 8 years ago
Stephane Nicoll 3e0e4e81b9 Polish 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
Stephane Nicoll 5278baca01 Polish 8 years ago
Stephane Nicoll ea18fe58e4 Remove useless checked exception throw clause 8 years ago
Stephane Nicoll ad9d912009 Merge branch '1.5.x' 8 years ago
Stephane Nicoll 0d61f92479 Ignore URI when local.mongo.port is set
This commit makes sure that if `local.mongo.port` is set, a `MongoClient`
on the embedded MongoDB instance is created. When an embedded instance
is detected, only the `host` property is used and the `uri` is ignored if
set.

This makes sure that the auto-configured `MongoClient` automatically
switches to the embedded server, even if a production uri has been
specified.

Closes gh-8219
8 years ago
Phillip Webb 58ac67eb27 Merge branch '1.5.x' 8 years ago
Phillip Webb 3ee7dae09b Merge branch '1.4.x' into 1.5.x 8 years ago
Phillip Webb f1012c104a Polish 8 years ago
Phillip Webb 987b6c956e Polish 8 years ago
Phillip Webb 57111aba22 Get published DataSource from EntityManager
Update DataSourceInitializedPublisher to always attempt to obtain the
published DataSource directly from the EntityManager. In the case where
the EntityManager doesn't provide a DataSource, the previous logic is
used.

Fixes gh-8296
8 years ago
Andy Wilkinson 205faa1950 Merge branch '1.5.x' 8 years ago
Andy Wilkinson 70472b36f1 Merge branch '1.4.x' into 1.5.x 8 years ago
Andy Wilkinson 59d3a79c82 Avoid eager initialization when finding beans by annotation
Closes gh-8269
8 years ago
Andy Wilkinson 373474f8f6 Merge branch '1.5.x' 8 years ago
Andy Wilkinson 4390c81115 Merge branch '1.4.x' into 1.5.x 8 years ago
Andy Wilkinson 8a326a8713 Simplify BeanTypeRegistry by requiring a DefaultListableBeanFactory
Closes gh-8439
8 years ago
Stephane Nicoll cf64d9fd35 Reuse auto-configured `Validator` in WebFlux
This commit makes sure that if a `Validator` is auto-configured, it is
reused as the `webFluxValidator`. This is pretty much the same thing as
what was done recently for Spring MVC.

Since the infrastructure is now shared, the package protected class has
been published in the `.validation` package.

Closes gh-8400
8 years ago
Stephane Nicoll deaa6089b0 Move `HttpHandler` configuration to a dedicated auto-configuration
An `HttpHandler` bean must be provided once the infrastructure triggered
by `@EnableWebFlux` has been processed. Rather than creating a
`HttpHandler` in that auto-configuration, this commit moves it to a
dedicated auto-config, like we do for `DispatcherServlet` for
servlet-based webapps.

As this is the only bean we auto-configure in a functional fashion, the
`WebFluxFunctionalAutoConfiguration` is now merged with this new
auto-configuration, making its purposes clearer.

Cloess gh-8436
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 77f6ed8357 Further rework Spring MVC JSR-303 validation
Rework Spring MVC JSR-303 validation support a little more to move
most of the creation logic to the wrapper class. Also rename
`SpringValidatorAdapterWrapper` -> `WebMvcValidator`.

See gh-8223
8 years ago
Phillip Webb 7ed1a26c2d Fix test failures when running in Eclipse
Update MultipartAutoConfigurationTests to reset the Tomcat URL factory.
8 years ago