Commit Graph

2166 Commits (f21e7940ba9d86cfdd6acd8a3d40d5f5e24806a2)

Author SHA1 Message Date
Vedran Pavic f485660482 Upgrade Spring Session to 1.3.0.M2
Closes gh-6979
8 years ago
Stephane Nicoll 7dfa3a8c83 Harmonize Caffeine CacheManager bean name
Closes gh-6980
8 years ago
Andy Wilkinson aaf435ff2a Suppress Neo4J-related deprecation warnings
See gh-6976
8 years ago
Andy Wilkinson c108da9d53 Upgrade to Spring Data Ingalls M1
Closes gh-6785
Closes gh-5835
8 years ago
Stephane Nicoll bd7c20eb1c Deprecate Guava support 8 years ago
Stephane Nicoll ce1e41dce3 Remove deprecated code
This code removes code deprecated in 1.4 with the exception of code that
requires an update to Spring Framework 5.

Closes gh-6971
8 years ago
Stephane Nicoll 6bd670edbc Initiate 1.4.x branch 8 years ago
Spring Buildmaster 7e9ed5e1a7 Next Development Version 8 years ago
Phillip Webb 51092af739 Polish 8 years ago
Eddú Meléndez bc55b6e0d4 Add contextPath LocalHostUriTemplateHandler URIs
Update `LocalHostUriTemplateHandler` so that the `server.context-path`
property is also considered when building the URL.

Fixes gh-6904
Closes gh-6919
8 years ago
Phillip Webb 0eab3e0c5a Drop printed link to reference documentation
Tweak the fix from 50c68a49 to no longer print a link the reference
documentation.

See gh-6593
8 years ago
Phillip Webb 825dd0a26c Merge branch '1.3.x' 8 years ago
Phillip Webb b97e0bd471 Allow HttpPutFormContentFilter to be disabled
Add `spring.mvc.formcontent.putfilter.enabled` property to allow the
HttpPutFormContentFilter to be disabled.

Fixes gh-6519
8 years ago
Phillip Webb a2e4127d4f Fix multi-annotation nested condition logic
Update `AbstractNestedCondition` to correctly group nested conditions
on members.

Fixes gh-6672
8 years ago
Stephane Nicoll 50c68a497b Improve startup error message
This commit improves the startup error message so that it does not
reference  `--debug` anymore. Such command-line switch only works when
the application is started using `java -jar`.

The error message now refers directly to a section of the documentation
that provides more details and links to more useful examples.

Closes gh-6593
8 years ago
Stephane Nicoll 78bb04f2c1 Polish 8 years ago
Stephane Nicoll 284988f0cd Clarify SpringBootWebSecurityConfiguration scope
This commit fixes the documentation that wrongly states that
SpringBootWebSecurityConfiguration is an auto-configuration. Rather than
excluding this class, we should exclude SecurityAutoConfiguration that
imports it.

Closes gh-6861
8 years ago
Oliver Gierke 0860ad4fd4 Use default simple types with MongoMappingContext
Change the auto-configure MongoMappingContext to use the
SimpleTypesHolder instance `Set` that's produced by a CustomConversions
bean, which we in turn now default, too.

This update is necessary as `CustomConversions` registers converters by
inspecting the classpath (to automatically detect Java 8, JodaTime etc.)
and by that rendering the types for which we find converters for as
simple ones, i.e. non-entities.

Fixes gh-6881
Closes gh-6882
8 years ago
Phillip Webb dcfe2673fd Fix failing test following Tomcat upgrade
Tomcat 8.5.5 has change the default value of `validationInterval` to
3000. See https://bz.apache.org/bugzilla/show_bug.cgi?id=59923 for
details.

See gh-6703
See gh-6657
8 years ago
Johnny Lim caa4c0800f Polish
Closes gh-6872
8 years ago
Phillip Webb c56f30fd91 Formatting 8 years ago
Stephane Nicoll ee668e6782 Polish contribution
Closes gh-6651
8 years ago
Vedran Pavic 06a1f44128 Validate Spring Batch database initializer configuration
This commit adds Spring Batch configuration validation that disables
database initializer in case custom table prefix is configured with
default schema.

See gh-6651
8 years ago
Stephane Nicoll def40bf27f Polish 8 years ago
Stephane Nicoll a347a780e7 Polish contribution
Closes gh-6649
8 years ago
Vedran Pavic 9141177f1a Validate Spring Session database initializer configuration
This commit adds Spring Session JDBC configuration validation that
disables database initializer in case custom table name is configured
with default schema.

See gh-6649
8 years ago
Phillip Webb 56544c8dd5 Polish 8 years ago
Brian Clozel 274734e787 Add `spring.thymeleaf.check-template` property
This commit adds a new `spring.thymeleaf.check-template` property which
is only used for Thymeleaf 3.0+.

Since thymeleaf/thymeleaf#419, the Thymeleaf template resolver
implementations can implement the `setCheckExistence` method - this
enables the template existence verification at **resolution** time,
which means the resolver can return null as a `TemplateResolution`
and let other template resolvers in the chain try.

This new property is set to `true` by default and can be disabled if the
application only has a single resolver and the template existence check
is considered as a performance penalty with the configured resolver.

Fixes gh-6500
8 years ago
making 8a5c026a9d Add spring.http.multipart.resolve-lazily
This commit adds the `spring.http.multipart.resolve-lazily`
property, in order to configure whether the multipart request
should be resolved lazily, as the parameters are accessed.
8 years ago
Stephane Nicoll b450fece2e Add NoSuchBeanDefinitionException failure analyzer
Add a `FailureAnalyzer` that handles the case where the context does
not start because no candidate bean was found for an `InjectionPoint`.

The implementation inspects the auto-configuration report for beans
that are candidate and output the condition(s) that lead to such beans
to be discarded on startup. If a whole auto-configuration class is
disabled (or excluded), its beans are inspected and candidates are
extracted in a similar way.

This works for both injection by type and by name.

Closes gh-6612
8 years ago
Phillip Webb 7396ccfe04 Harmonize ConditionOutcome messages
Add ConditionMessage class to help build condition messages in a
uniform format and update existing conditions to use it.

Fixes gh-6756
8 years ago
Johnny Lim 4b9f6869f0 Polish
Closes gh-6817
8 years ago
Andy Wilkinson 2e1988f97e Rework welcome page so that it only handles reqs that accept text/html
Closes gh-6668
8 years ago
Andy Wilkinson 3814e509a3 Polish @deprecated javadoc and link to replacements where available
Closes gh-6765
8 years ago
Andy Wilkinson d720645275 Polishing
Fix mistake introduced during forward merge
8 years ago
Phillip Webb 2a22a7af12 Remove ApplicationInfo
Rework commit 4a69755b to remove the need for the ApplicationInfo class.
The updated code now uses the auto-configuration class to compute a
default persistence unit root location

Closes gh-6635
8 years ago
Andy Wilkinson b488a3d9a3 Merge branch '1.3.x' 8 years ago
Andy Wilkinson 63b8e82c10 Update OnBeanCondition to consider hierarchy for PARENTS search strategy
Closes gh-6762
8 years ago
Phillip Webb 565ad79856 Polish 8 years ago
Phillip Webb 850141c405 Merge branch '1.3.x' 8 years ago
Phillip Webb 69e96c6211 Polish 8 years ago
Andy Wilkinson 55f6fb94ef Merge branch '1.3.x' 8 years ago
Andy Wilkinson a5c6b0954d Consider ancestors when finding primary beans for ConditionalOnSingleCandidate
Closes gh-6559
8 years ago
Andy Wilkinson 6df279d3a1 Merge branch '1.3.x' 8 years ago
Andy Wilkinson 75c1e50c5a Improve type determination for factory beans during condition evaluation
Previously, BeanTypeRegistry did not correctly determine the type
that would be created by a factory bean if that factory bean was
returned from a bean method with arguments on a configuration class
found via component scanning.

The key difference is that bean definitions for bean methods on
configuration classes found via component scanning use ASM-based
metadata rather than reflection-based metadata. The ASM-based method
data does not provide direct access to the Method that will create the
bean. In this case, BeanTypeRegistry was falling back to looking for
a method with the matching name and no arguments. Therefore, if
the bean method had any arguments it would fail to find the method
and would, therefore, be unable to determine the type of bean
produced by the factory bean.

This commit updates BeanTypeRegistry to use logic that is very similar
to Spring Framework's ConstructorResolver's
resolveFactoryMethodIfPossible method to locate the method that will
produce the factory bean. It looks for a single method with
the required name with any number of arguments. If it finds multiple
methods with the required name and different arguments it returns
null, just as ConstructorResolver does.

Closes gh-6755
8 years ago
Stephane Nicoll 47c568a24d Polish contribution
Closes gh-6746
8 years ago
Caleb Cushing bb7b789cd9 Detect Neo4j bolt driver
Closes gh-6690
8 years ago
Stephane Nicoll b9104c9337 Restore support for empty persistence unit with fat jars
Due to the layout format change in 1.4, Spring Framework is no longer
able to compute a default persistence unit root URL. If a Spring Boot 1.4
application has JPA but does not have any entity, the application started
from a fat jar now fails with a quite cryptic exception.

This commit introduces `ApplicationInfo` as a general replacement for
the `ApplicationArguments` and `Banner` singleton beans that
`SpringApplication` registers on startup. `ApplicationInfo` also defines
the detected "main" `Class` that can be used to compute a last resort
URL that makes sense.

If such bean is available, `EntityManagerFactoryBuilder` now sets the
default persistence unit root location, preventing Spring Framework to
attempt to resolve an unknown location. Note that in our case the
persistence unit root location is actually useless: given the way the
persistence unit is created, nothing actually uses it but Hibernate, as a
compliant JPA provider, has to make sure this setting is set to a valid
URL nevertheless.

Closes gh-6635
8 years ago
Stephane Nicoll 86757efcdf Add FailureAnalyzer for Hikari
Hikari can configure both an underlying Driver or DataSource. Spring Boot
only supports the former so any attempt to trigger the creation of the
latter will lead to an exception since the auto-configuration has set
driver-specific field.

This commit adds an analyzer that intercepts such faulty scenario and
indicate that users should configure Hikari with an underlying DataSource
themselves.

Closes gh-6568
8 years ago
Johnny Lim 524edaea51 Polish
Closes gh-6728
8 years ago
Stephane Nicoll 6c1b46e162 Mark auto-configured `JdbcTemplate` as primary
This commit marks the auto-configured `JdbcTemplate` as `Primary`. Spring
session creates its own so we could end up with two in a fully auto
configured context.

Closes gh-6717
8 years ago
Andy Wilkinson e465368f54 Ensure that access log is flushed periodically
Previously, Tomcat’s background processing was only enabled on the
context but access logging was configured on the engine. This means that
the access log valve’s background processing method was never called
and, therefore, that it wasn’t flushed periodically.

This commit moves the enablement of background processing up to the
engine, thereby ensuring that the access log is flushed periodically.
Background processing cascades down the container hierarchy so, after
this change, background processing will still be performed on the
context as well.

Closes gh-6646
8 years ago
Andy Wilkinson 1dc231f771 Use Hamcrest's containsString matcher rather than Mockito's 8 years ago
Andy Wilkinson d4c9a2b271 Merge branch '1.3.x' 8 years ago
Andy Wilkinson ba51dc5c4a Make configuration of Liquibase’s logging more robust
We make Liquibase aware of our custom Commons Logging-based logger by
adding its package to the Liquibase ServiceLocator’s packages to scan.
Previously, this was happening too late so Liquibase may have already
initialized and cached a particular logger.

This commit moves the registration of the extra package from the
Liquibase auto-configuration to the application listener that customises
Liquibase’s ServiceLocator. This ensures that the package is added
before Liquibase is used. Unfortunately, configuring Liquibase’s
ServiceLocator and its packages to scan causes it to try to perform
some logging, resulting in it caching the wrong type of logger. We
work around this problem by resetting Liquibase’s LogFactory once we’ve
finished setting everything up.

Closes gh-6713
8 years ago
Stephane Nicoll c9a3880f27 Remove hard-coded property values
As of Spring Boot 1.4, IDEs are supposed to provide auto-completion for
hints and enum values. This commit removes the hard-coded copy of
allowed values for enum-based properties. This was mostly the case
already and this commit fixes the few ones remaining.

Closes gh-6654
8 years ago
Stephane Nicoll 54a3ce8827 Restore support for spring.datasource.type
This commit restores the support of "spring.datasource.type". If this
property is set to an unsupported `DataSource` implementation, we now
properly create it again, rather than ignoring it because its value did
not match any value we support.

Since Spring Boot 1.4 now redirects `DataSource` implementation settings
to dedicated namespaces, the documentation has been updated to explicitly
mention how one can create such arrangement for an unsupported
implementation.

As a convenience, `DataSourceProperties` can initialize a
`DataSourceBuilder` based on its internal state, making it very easy for
anyone to create a `DataSource` from a `DataSourceProperties` instance.

Closes gh-6695
8 years ago
Stephane Nicoll a6ef3741ef Configure Undertow's access log prefix and suffix
This commit adds two properties that can be used to customize the prefix
and suffix of the Undertow's access log.

Closes gh-6652
8 years ago
Johnny Lim 37c8c3669b Polish
Closes gh-6671
8 years ago
Stephane Nicoll 919d6b4b2e Avoid extending from RepositoryRestMvcConfiguration
This commit moves Spring Boot's customizations for Spring Data Rest to
the existing SpringBootRepositoryRestConfigurer.

Closes gh-6581
8 years ago
Stephane Nicoll 79b0d14504 Fix wrong use of slf4j
Closes gh-6650
8 years ago
Andy Wilkinson c542d87c61 Verify that @FlywayDataSource is preferred over any "normal" DataSource 8 years ago
Andy Wilkinson 7c54c3ff21 Ensure that @LiquibaseDataSource is preferred to “normal” DataSource
Closes gh-6604
8 years ago
Eddú Meléndez 8424965a10 Allow a DataSource to be marked as being specifically for Liquibase
This commit allows to configure a special DataSource to be used by
Liquibase by annotating it with @LiquibaseDataSource.

Closes gh-6614
8 years ago
Andy Wilkinson ec9549f01f Downgrade to Jackson 2.7.6 and verify Elasticsearch’s compatibility
Closes gh-6508
8 years ago
Stephane Nicoll 80a1897ccb Remove useless postgresql alias
See gh-6534
8 years ago
Stephane Nicoll 90c67daec1 Polish contribution
Closes gh-6534
8 years ago
Vedran Pavic b5e2bff1a4 Fix aliases for database names in `JdbcSessionDatabaseInitializer`
See gh-6354
8 years ago
Stephane Nicoll 3f14bdc01d Add missing type condition on JdbcTemplateAutoConfiguration
Closes gh-6499
8 years ago
Spring Buildmaster 334baaeffd Next development version 8 years ago
Spring Buildmaster a89ef5df6e Next Development Version 8 years ago
Johnny Lim 9627d0ed66 Polish
Closes gh-6487
8 years ago
Phillip Webb 162b9e84a3 Polish 8 years ago
Brian Clozel a282710fc9 Add Locale to Charset Mapping for Servlet containers
This commit adds a new configuration key:

    spring.http.encoding.mapping.<locale>=<charset>

This allows to specify which default charset should be used for any
given Locale, if none has been provided already in the response itself.
This applies to all supported embedded servlet containers.

Fixes gh-6453
8 years ago
Kazuki Shimizu 5ecb68b226 Add JdbcTemplate only on single DataSource
Update auto-configuration logic so that a `JdbcTemplate`
is only added when there is a single candidate DataSource bean.

Closes gh-6449
8 years ago
Kazuki Shimizu e0adacbeae Add TransactionManager only on single DataSource
Update auto-configuration logic so that a `DataSourceTransactionManager`
is only added when there is a single candidate DataSource bean.

See gh-6449
8 years ago
Andy Wilkinson fbf291ee12 Make RabbitProperties’ parsed address behaviour the same for all properties
Prior to this commit parsing addresses had an inconsistent effect on the
various properties that can be contained in an address (host, port,
username, password, and virtual host).

Three different approaches were used:

1. Return the property if no addresses were set. If there was one
   address set, return the property from the address. Otherwise return
   null. (host)
2. Return the property if no address were set, otherwise return the
   property from the first address (port)
3. Return the property if no addresses were set, otherwise return the
   property from the last address that had such property (username,
   password, virtual host).

This commit aims to make the behaviour consistent. If no addresses
were set the property is returned. Otherwise the value extracted from
the first address is returned. If the first address has no such value
the property is returned.

Closes gh-6424
8 years ago
Phillip Webb 1080b990e8 Revert "Restore DataSourceProperties get...() methods"
This reverts commit 037e697406.

See gh-6406
8 years ago
Stephane Nicoll b86241cae0 Upgrade to Ehcache 3.1.1
Closes gh-6418
8 years ago
Christoffer Sawicki 3a8cf7ac8a Register valves at the engine level
Update `ServerProperties` to register `AccessLogValve` and
`RemoteIpValve` at the engine level.

Closes gh-6311
8 years ago
Phillip Webb e03e109874 Polish 8 years ago
Phillip Webb 037e697406 Restore DataSourceProperties get...() methods
Restore original get method functionality in DataSourceProperties in
a deprecated form.

Fixes gh-6406
8 years ago
Phillip Webb c889c09066 Refactor from deprecated getAliasedStringArray
Update EntityScanPackages to make use of Spring Framework's updated
alias support with ASM reading.

Closes gh-6337
8 years ago
Phillip Webb 68b9792ed6 Fix FixedAuthoritiesExtractor map extract bug
Fix issue where FixedAuthoritiesExtractor would fail to obtain standard
item from the map because an incorrect key was used.

Fixes gh-6396
8 years ago
Andy Wilkinson b8ad9537a6 Merge branch '1.3.x 8 years ago
Andy Wilkinson 68fb5789ca Create one SpringApplicationAdminMXBeanRegistrar per context hierarchy
Previously, one SpringApplicationAdminMXBeanRegistrar was created
per context. When there was more then one context this would result
in a javax.management.InstanceAlreadyExistsException being thrown
as an attempt was made to register the MBean more than once.

This commit updates SpringApplicationAdminJmxAutoConfiguration so
that the registrar is only created when there's no such existing bean
in the context hierarchy.

Closes gh-6378
8 years ago
Stephane Nicoll 6bd7a2fedd Deprecate HornetQ support
Closes gh-6377
8 years ago
Andy Wilkinson db83e89922 Add support for Thymeleaf 3 while keeping Thymeleaf 2 as the default
Closes gh-4393
8 years ago
Johnny Lim a9f6ae4422 Polish
Closes gh-6374
8 years ago
Stephane Nicoll 17b71df2dd Merge branch '1.3.x' 8 years ago
Stephane Nicoll bbb29dd70f Remove `@Primary` from `IntegrationMBeanExporter`
Commit 3ea84f9e1 has wrongly introduced a `@Primary` marker on
`IntegrationMBeanExporter` so any use of both Spring's JMX support
and Spring Integration's JMX support leads to an exception. This commit
makes sure to remove the unnecessary `@Primary`

Closes gh-6328
8 years ago
Stephane Nicoll 0356be7b95 Refine AliasFor usage
This commit makes sure to use `getAliasedStringArray` rather than
`getStringArray` as the latter does not work with ASM. While this will
probably be fixed in the core framework, this commit also adds dedicated
tests with ASM to ensure that the code works as expected.

Closes gh-6337
8 years ago
Phillip Webb f4df9d9767 Use lexical ordered DataSourceInitializer patterns
Align DataSourceInitializer to Spring Framework by lexically sorting
resolved resource patterns.

Fixes gh-6316
8 years ago
Stephane Nicoll 05dad45172 Add proxy configuration for Jest client
Closes gh-6332
8 years ago
Spring Buildmaster 2216369348 Next Development Version 8 years ago
Andy Wilkinson 8cbe30ab5e Ensure that Jersey and Jackson honour JAXB annotations
By default Jersey configures Jackson to use both Jackson annotations
and JAXB annotations when introspective types for (de)serialization.
However, the changes made in 5776d6a8 mean that Jersey no longer uses
its default ObjectMapper configuration and uses the auto-configured
ObjectMapper instead. This had the unwanted side-effect of leaving
Jersey with an ObjectMapper that only uses Jackson annotations and
ignores JAXB annotations.

This commit updates JerseyAutoConfiguration so that it will add the
JaxbAnnotationIntrospector to the auto-configured ObjectMapper for
both serialization and deserialization. It uses
AnnotationIntrospectorPair to ensure retain any existing
introspectors.

Closes gh-6310
8 years ago
Andy Wilkinson 4697432edd Upgrade to Artemis 1.3.0
Closes gh-6282
9 years ago
Phillip Webb ebdacfabc3 Polish 9 years ago
Stephane Nicoll 2fea5a869d Polish "Add Spring Session JDBC database initializer"
Closes gh-5879
9 years ago
Vedran Pavic a251ea8bc7 Add Spring Session JDBC database initializer
See gh-5879
9 years ago
Andy Wilkinson 2b970f9efc Allow Tomcat context root redirect to be configured via the environment
This commit adds a new property, server.tomcat.redirect-context-root,
that can be used to configure the Tomcat Context’s 
mapperContextRootRedirectEnabled property. The default is to not apply
any configuration and, therefore, to use Tomcat’s default of true.

Closes gh-6248
9 years ago
Phillip Webb d08480320b Stop RequestContextFilter initializing config
Change WebMvcAutoConfigurationAdapter.requestContextFilter() to a static
method so that the configuration class isn't needed when creating it.
This helps to prevent early initialization of beans.

See gh-6178
9 years ago
Phillip Webb 266445aaf0 Polish 9 years ago
Dave Syer d41127d3da Add javadocs to auth server config props 9 years ago
Andy Wilkinson 05b44a98e0 Simplify generics in CassandraRepositoriesAutoConfigurationTests 9 years ago
Johnny Lim 5bc9d5b380 Polish
Closes gh-6244
9 years ago
Stephane Nicoll fc4d8b99d6 Allow to configure Tomcat's renameOnRotate property
Closes gh-5981
9 years ago
Stephane Nicoll c024dc836a Support Spring Mobile for all template engines
Previously, Spring Mobile was only supported for Thymeleaf and JSPs. This
commit improves the auto-configuration to also provide device delegating
support for Freemarker, Groovy Templates and Mustache.

Closes gh-5140
9 years ago
Stephane Nicoll 397c64d256 Polish "Add schemaAction property"
Closes gh-5855
9 years ago
Mark Paluch e85cb2c4c5 Add schemaAction property to CassandraProperties
Set schemaAction property in CassandraSessionFactoryBean. Use relaxed
property resolver for enum lookup of the configured schemaAction.

See gh-5855
9 years ago
Andy Wilkinson 94ba6bdae2 Polish “Allow connection timeout to be configured via the environment”
- Preserve default connection timeout when server.connection-timeout
   has not been set
 - Apply standard coding conventions and formatting

See gh-6072
9 years ago
Misagh Moayyed 6007d7efc1 Allow connection timeout to be configured via the environment
Closes gh-6072
9 years ago
Stephane Nicoll 0de5988c0e Use Mongo 3.0 specific API
See gh-6176
9 years ago
Stephane Nicoll 958a0a45f1 Merge branch '1.3.x' 9 years ago
Stephane Nicoll 4e07003e1d Polish "Use missing MongoClientOptions in MongoProperties"
Closes gh-6176
9 years ago
Nasko Vasilev 59f9cfb8a6 Use missing MongoClientOptions in MongoProperties
See gh-6176
9 years ago
Stephane Nicoll 33b1f52fa5 Merge branch '1.3.x' 9 years ago
Stephane Nicoll 7a5fabf59d Polish "Add condition on MongoClientFactoryBean"
Closes gh-6203
9 years ago
Julien May 2003c5e1ae Add condition on MongoClientFactoryBean
This commit makes sure that the condition that links a `MongoClient` to
the embedded mongo server kicks in only if `MongoClientFactoryBean` is
also on the classpath.

Previously, only a condition on the mongo driver existed, leading to
`ClassNotFoundException` if Spring Data MongoDB wasn't available.

See gh-6203
9 years ago
Stephane Nicoll 5656e83ba9 Enable logging of resolved exceptions
Previously, if an exception was resolved by a `HandlerExceptionResolver`
nothing the log indicated a failure to process the query.

This commit adds a new property `spring.mvc.log-resolved-exception` that
enables warning logs for supported `HandlerExceptionResolver` instances.

When Devtools is enabled, this flag is enabled by default.

Closes gh-2176
9 years ago
Johnny Lim 301574de09 Polish
Closes gh-6234
9 years ago
Phillip Webb 654801083b Provide unified @EntityScan annotation
Add a new `@EntiyScan` annotation that's used by auto-configuration to:
* Set JPA packagesToScan.
* Set Neo4J's SessionFactory packages.
* Set the initial entity set for Spring Data MongoDB, Cassandra and
  Couchbase mapping contexts.

Additionally deprecate `@org.springframework.boot.orm.jpa.EntityScan`.

See gh-6142
9 years ago
Phillip Webb 15670b8e28 Relocate Neo4J auto-configuration
Move Neo4J auto-configuration from `autoconfigure.neo4j` to
`autoconfigure.data.neo4j` since it's intrinsically linked to Spring
Data.

See gh-5458
See gh-6142
9 years ago
Phillip Webb c22a0e90a2 Polish 9 years ago
Stephane Nicoll 2dc6e5b6fa Refactor Jest auto-configuration package space
This commit moves the Jest auto-configuration from `spring.jest` to
`spring.elasticsearch.jest`

Closes gh-6032
9 years ago
Phillip Webb 5182bc4f2b Improve startup times
Improve startup times (although not by much) by adding more background
pre-initializers and lazily evaluating the whitelabel SpEL view.

See gh-6177
9 years ago
Johnny Lim e0389cb9d8 Remove unnecessary constructor
Closes gh-6202
9 years ago
Andy Wilkinson 52e8ad4b6b Drop back to Hibernate 5.0.9.Final
The upgrade to Hibernate 5.2.0.Final has provide to be too
problematic to live with. It requires Java 8, is incompatible with
a number of other projects in the Hibernate ecosystem, and it's
unclear for how long it will be maintained. We'd previously used
Hibernate 5.1.0.Final but its maintenance is also unclear with
Hibernate 5.1.1.Final being more than 3 months overdue.

This commit drops back to Hibernate 5.0.9.Final. This has a few
advantages:

- It's Java 7 compatible
- It's had some time to mature and should be reasonably free of
  regressions for those moving from 4.3.x
- It's used in both Wildfly and JBoss EAP so there's a fair chance
  that it will continue to be maintained.

Closes gh-6198
9 years ago
Phillip Webb 7446235ff4 Polish 9 years ago
Phillip Webb c136054e69 Merge branch '1.3.x' 9 years ago
Phillip Webb 5b97981c87 Polish 9 years ago
Andy Wilkinson 2c8eaac78c Update documentation of server.server-header for changes in 3009e51
See gh-4730
9 years ago
Andy Wilkinson 5e4f84cf46 Allow maximum HTTP header size to be configured when using Jetty 8
Closes gh-6190
9 years ago
Stephane Nicoll e383752150 Merge branch '1.3.x' 9 years ago
Artem Bilan 3ea84f9e1d Fix relaxed binding of SI JMX config
Instead of using an expression for JMX-related properties, this commit
properly honors relaxed binding.

Closes gh-6184
9 years ago
Stephane Nicoll 976f0a7a80 Fix build failure
Fixing #5939 lead to a build failure as OAuth2 related configuration was
defined twice. This is also related to #5973.
9 years ago
Stephane Nicoll bce6bd6594 Polish 9 years ago
Stephane Nicoll 7b5df365d8 Enable SSL from MongoClientOptions
Closes gh-5099
9 years ago
Stephane Nicoll 2ff9e3cfdc Upgrade to Hibernate 5.2
See gh-6111
9 years ago
Stephane Nicoll a273d8d0c8 Add secured connection support to Artemis
This commit aligns the feature introduced in gh-6071 to Artemis.

Closes gh-6179
9 years ago
Stephane Nicoll 8b79c667a7 Polish "Secured HornetQ" contribution
Closes gh-6071
9 years ago
Stéphane Lagraulet 1aa8f49001 Add a secured connection factory for Hornetq.
See gh-6071
9 years ago
Stephane Nicoll d54474b81c Allow locale to be overridden by "Accept-Language"
Previously, when `spring.mvc.locale` was specified, that locale was used
regardless of the client's preferences. This commit adds an extra
`spring.mvc.locale-resolver` property that can control how the locale is
resolved. The default is `ACCEPT_HEADER` but can be set to `FIXED` to
restore the previous behaviour.

Closes gh-6083
9 years ago
Dave Syer a3b29b0e42 Add /webjars/** to default list of unsecured resources
Fixes gh-2460
9 years ago
Dave Syer 6b6f4e2263 Fix JSON syntax
(according to Eclipse it was broken)
9 years ago
Stephane Nicoll 7afe1d16a6 Add Jest support
This commit adds auto-configuration support for Jest, an HTTP client for
Elasticsearch. If Jest is present, a `JestClient` targeting a local
elasticsearch instance is auto-configured. Several properties from the
`spring.jest.*` namespace allows to tune the client.

Closes gh-6032
9 years ago
Phillip Webb e27bc9ddea Merge branch '1.3.x' 9 years ago
Phillip Webb ed6f11d60d Polish 9 years ago
Brian Clozel 6dc0ecb182 Add WebMvcRegistrations for custom MVC components
Add `WebMvcRegistrations` which can be used to provide custom
instances of `RequestMappingHandlerMapping`,
`RequestMappingHandlerAdapter` and `ExceptionHandlerExceptionResolver`.
Those instances are then used and processed by the Boot MVC
configuration.

Prior to this commit, developers could provide their custom instances
of MVC infrstructure components such as `RequestMappingHandlerMapping`
and `RequestMappingHandlerAdapter` only by using advanced configuration
strategies. Those advanced configurations involved subclassing
`WebMvcConfigurationSupport` which effectively turns off MVC
auto-configuration in Boot.

Fixes gh-5004
Closes gh-6100
9 years ago
Phillip Webb 99c6194e17 Don't use MockitoJUnitRunner
Replace `@RunWith(MockitoJUnitRunner.class)` with direct Mockito
initialization since the running doesn't support parallel test
execution.
9 years ago
Stephane Nicoll 8ea5524d6a Polish 9 years ago
Stephane Nicoll 72e4064230 Merge branch '1.3.x' 9 years ago
Vedran Pavic 6dde498b87 Update DataSourceBuilder aliases
This commit adds a `user` alias for the `username` property which permits
the use of `OracleDataSource`.

Closes gh-6124, gh-6027, gh-6125
9 years ago
Brian Clozel 091664078f Split up DispatcherServletConfiguration condition
Prior to this commit, defining a custom `DispatcherServlet` and/or a
`ServletRegistrationBean` with the default name would turn off
completely the `DispatcherServletAutoConfiguration`.

This commit splits this auto-configuration in two parts:

- First, a `DispatcherServlet` is automatically registered if no
instance is already defined with the default name.
- Then, a `ServletRegistrationBean` is registered is registered if a
`DispatcherServlet` instance exists with the default name *and* no
`ServletRegistrationBean` exists with the default name

This allows developers to register manually a `ServletRegistrationBean`
or a `DispatcherServlet` without having to redefine the whole
auto-configuration.

Fixes gh-4893
Closes gh-6108
9 years ago
Phillip Webb 0fa4d2e260 Make SocialAutoConfigurerAdapter/Properties public
Fixes gh-6078
9 years ago
Johnny Lim 5de9516255 Fix typos
Closes gh-6114
9 years ago
Phillip Webb b38231021d Provide web client Auto-configuration
Add auto-configuration for use with typical web clients. Currently
client auto-configuration consists of a RestTemplateBuilder
pre-configured with HttpMessageConverters.

Closes gh-5507
9 years ago
Phillip Webb bc6f1cfdf3 Polish 9 years ago
Andy Wilkinson 73b01cff4f Use spring.factories to declare each test slice's auto-config imports
Closes gh-6001
9 years ago
Andy Wilkinson 8c9c649805 Fix MongoPropertiesTests following upgrade to Mongo 3.2 (6f5bd2e)
See gh-3011
9 years ago
Johnny Lim 70adefc87b Polish
Closes gh-6046
9 years ago
Andy Wilkinson 6f5bd2e13a Upgrade to MongoDB 3
This commit upgrades to MongoDB 3. Dependency management has been added
for the new and preferred mongodb-driver artifact. The starter has
been updated to use this new artifact rather than monogo-java-driver.
Dependency management for mongo-java-driver has been retained to avoid
causing problems for people who have declared the dependency explicitly.
The auto-configuration for Embedded Mongo has also been updated to
use 3.2.2 by default.

Closes gh-3011
9 years ago
Phillip Webb ccdcad757a Allow template lookup caching to be disabled
Extract TemplateAvailabilityProvider caching logic to a new
TemplateAvailabilityProviders class and provide property support to
disable it. Also update DevToolsPropertyDefaultsPostProcessor to
automatically set the property.

Fixes gh-5989
9 years ago
Stephane Nicoll c3201a1e91 Revert "Cache resolved error template view names"
See gh-5989
9 years ago
Stephane Nicoll dcf3a56bd5 Polish 9 years ago
Stephane Nicoll 3805fc7455 Polish 9 years ago
Phillip Webb f3e630933a Add OAuth PrincipalExtractor strategy interface
Update `UserInfoTokenServices` to use a PrincipalExtractor interface
to extract the principal.

Fixes gh-5186
9 years ago
Phillip Webb 7f45485e61 Provide explicit force request/response properties
Update HttpEncodingProperties to offer explicit `force-request` and
`force-reponse` properties in additional to the existing `force`
property.

Closes gh-5459
9 years ago
Phillip Webb bcfa2e6676 Make TestRestTemplate not extend RestTemplate
Update TestRestTemplate so that it no longer directly extends
RestTemplate. Prior to this commit it was possible that TestRestTemplate
could interfere with user defined RestTemplate beans.

TestRestTemplate offers the same methods as RestTemplate so should be
a drop-in replacement. If access is needed to the actual underlying
template the `getRestTemplate()` method should be used.

Fixes gh-5915
9 years ago
Phillip Webb 00fbb5c3d9 Polish 9 years ago
Dave Syer 46134b58b8 Fix stupid checkstyle violations 9 years ago
Dave Syer 684c8c81a3 Extract user info rest template into a factory
Instead of using a @Bean, it is better to use an opaque factory
for an internal dependency that users are not going to want in
the context. OAuth2RestTemplate is a common enough bean type that
creating on in autoconfig makes it hard for users to add their own
for business use.

See gh-5967
9 years ago
Phillip Webb c15c146021 Cache resolved error template view names
Fixes gh-5933
9 years ago
Phillip Webb 6cdbdf9ad3 Polish 9 years ago
Stephane Nicoll 00f9adafd7 Stop creating a primary `Oauth2RestTemplate`
This commit removes the creation of a `@Primary` `OAuth2RestTemplate`
and updates the documentation accordingly.

Once #5507 is implemented we could revisit this area to provide a way for
users to easily create such a bean.

Closes gh-5202
9 years ago
Andy Wilkinson c11b28c3c7 Align default for OPTIONS request dispatching with Spring Framework 4.3
Closes gh-5965
9 years ago
Stephane Nicoll 2b006aacb3 Validate Spring Session has been configured
This commit validates that a `SessionRepository` has been configured if
Spring Boot is meant to auto-configure one.

Closes gh-5943
9 years ago
Stephane Nicoll 5deca28a9d Improve upgrade path for Spring Session
Commit b7e7bcf made `spring.session.store-type` explicit which means that
users of Spring Session in 1.3 have to set that property to restore the
auto-configuration support in 1.4.

This commit implicitly set the store type to redis if redis is present
and log a warning inviting the user to actually specify that in
configuration.

The entry in the auto-configuration report also mentions that such
arrangement is deprecated.

Closes gh-5838
9 years ago
Johnny Lim 7a62b7d066 Polish
Closes gh-5936
9 years ago
Kazuki Shimizu a4d9ba165f Set default paths for fixed static version
Closes gh-5878
9 years ago
Andy Wilkinson 500edeacc4 Ensure that static error pages have a Content-Type header
The getContentType() accessor method on View appears to only be used
for content negotiation. For the Content-Type header to be included in
the response the view needs to set it explicitly when render is called.

Closes gh-5918
9 years ago
Andy Wilkinson 5c0d400c23 Align Hibernate 5 join table names with those from SpringNamingStrategy
Previously, the name of a join table when using Hibernate 5 would
differ from those when using Hibernate 4 with the default
SpringNamingStrategy.

This commit introduces SpringImplicitNamingStrategy which customises the
name of join tables to match those produced by SpringNamingStrategy.

Closes gh-5880
9 years ago
Phillip Webb cf6212b955 Polish 9 years ago
Phillip Webb 6575ca6ff8 Merge branch 1.3.x 9 years ago
Phillip Webb 7fb545d26c Polish 9 years ago
Andy Wilkinson 0c2ecb7ba0 Apply standard Jackson2ObjectMapperBuilder config via a customizer
This commit builds on the new abstraction introduced in 2a0b8a7 by
applying the standard JacksonProperties-based
Jackson2ObjectMapperBuilder configuration via a customizer.

It also applies some polishing to the original contribution:

 - Code has been formatted
 - Logic that applies the customizers has moved to be alongside the code
   that creates the builder
 - Logic that explicitly sorted the customisers has been removed as
   they will be sorted automatically prior to injection
9 years ago
dziesio deb7529a36 Make it easier to customize auto-configured Jackson2ObjectMapperBuilder
Previously, it was difficult to customize the auto-configured
Jackson2ObjectMapperBuilder. Typically, use of a bean post processor
was required.

This commit introduces Jackson2ObjectMapperBuilderCustomizer. Beans
that implement this interfaces are called during creation of the
auto-configured Jackson2ObjectMapperBuilder, providing an opportunity
to customize its configuration.

Closes gh-5803
9 years ago
Andy Wilkinson 64e668d584 Use AssertJ in JooqExceptionTranslatorTests 9 years ago
Andy Wilkinson 12215533a5 Merge branch '1.3.x' 9 years ago
Andy Wilkinson 1ab835a0f7 Add tests for JooqExceptionTranslator
See gh-5884
9 years ago
tfeiner 61cb18a69c Use JOOQ's Spring DB name during exception translation
The name of a JOOQ SQLDialect does not always match the name defined
in sql-error-codes.xml. For example, the Postgres translator was not
initialized correctly because in JOOQ the dialect is named
SQLDialect.POSTGRES, but in sql-error-codes.xml the bean is named
"PostgreSQL".

This commit updates the translator to use the dialects third-party
springDbName which ensures that it maps correctly to the entries in
sql-error-codes.xml.

Closes gh-5884
9 years ago
Andy Wilkinson 0a765e36f1 Protect against stack overflow when searching meta annotations
It is legal for an annotation to be annotated with itself. Previously,
when searching for meta annotations this could lead to a stack overflow.
This was likely to occur when using Kotlin as, like Java, its Target
annotation is annotated with itself. A stack overflow doesn’t occur
with Java’s Target annotation due to some short-circuiting logic for
annotations in java.lang.

This commit updates the logic for finding meta-annotations to
short-circuit when an annotation that has already been seen is
encountered.

Closes gh-5902
9 years ago
Stephane Nicoll 699d083cec Add load-on-startup property to DispatcherServlet
Closes gh-2481
9 years ago
Spring Buildmaster 819a9574a6 Next Development Version 9 years ago
Andy Wilkinson 3348ed5bb3 Make use of new GetMapping and PostMapping annotations
Closes gh-5277
9 years ago
Stephane Nicoll 2cacc19c91 Polish
See gh-5901
9 years ago
Stephane Nicoll a4ba8f61c9 Backport 6dd8415
While working on gh-5309, a regression was introduced and fixed right the
way on master. Unfortunately, the fix wasn't applied to `1.3.x` as it
should have been.

This commit applies 6dd8415 to `1.3.x`

Closes gh-5901
9 years ago
Stephane Nicoll b7e7bcf717 Make `spring.session.store-type` mandatory
Previously, Spring Session would be auto-configured by the mere presence
of Spring Session in the classpath. This was fragile as determining a
store type according to the environment could easily change when the
classpath of the project changes.

This commit makes the store-type property mandatory. If it is not set,
Spring Session is no longer auto-configured.

Closes gh-5838
9 years ago
Spring Buildmaster 376bbe68d8 Next Development Version 9 years ago
Stephane Nicoll 21536f64e1 Polish info contributor feature
This commit improves the `InfoContributor` infrastructure as follows:

* `InfoEndpoint` no longer breaks its public API and returns a Map as
before
* `Info` is now immutable
* All properties of the build are now displayed. Since we control the
generation of that file, there is no longer a mode to restrict what's
shown
* Build info is now generated in `META-INF/build-info.properties` by
default

Closes gh-5734
9 years ago