Commit Graph

8856 Commits (51092af73941a0e7f8e7da0690f7595c416123bf)
 

Author SHA1 Message Date
Andy Wilkinson cc53f8810a Correct deprecated ErrorPage javadoc's reference to its replacement
Closes gh-6764
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 62bc955ba7 Merge pull request #6746 from xenoterracide:neo4j-bolt
* pr/6746:
  Polish contribution
  Detect Neo4j bolt driver
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
Andy Wilkinson 10402a651f Close context to ensure that logging system is cleaned up
See gh-6688
8 years ago
Andy Wilkinson 43361e0ca5 Prevent child applications from reinitializing the logging system
Closes gh-6688
8 years ago
Stephane Nicoll 25e72fab71 Initialize FailureAnalyzer earlier
This commit changes `FailureAnalyzers` so that the loaded
`FailureAnalyzer` instances are initialized before the context eventually
fails.

Before this commit, the `BeanFactoryAware` callback was processed at a
time where the context has already shutdown. Some implementations need
to access components that are no longer available.

Instead, we now initialize them before the context is refreshed.

Closes gh-6748
8 years ago
Andy Wilkinson 07a50bb16c Update the samples to make use of auto-configured TestRestTemplate
Closes gh-6730
8 years ago
Andy Wilkinson 3c5cf02882 Provide method to create TestRestTemplate with basic auth from existing
Closes gh-6732
8 years ago
Andy Wilkinson 2377d78a40 Update auto-configured TestRestTemplate to use SSL when it’s enabled
Closes gh-6731
8 years ago
Andy Wilkinson 46e03529fb Remove redundant bean declarations from some of the security samples
Closes gh-6740
8 years ago
Stephane Nicoll d6e9ccecec Upgrade to Spring Security 4.1.3.RELEASE
Closes gh-6738
8 years ago
Stephane Nicoll 2c61064d93 Fix property prefix
This commit fixes the prefix for the WebClient and WebDriver auto-config
so that it complies with the prefix set on `AutoconfigureWebMvc`

Closes gh-6727
8 years ago
Andy Wilkinson 5a1741e2e8 Improve documentation of when TestRestTemplate is auto-configured
Closes gh-6729
8 years ago
Andy Wilkinson 9e2dcbbe96 Merge pull request #6721 from Mark Paluch
* gh-6721:
  Include netty-handler as transient dependency of cassandra-driver-dse
8 years ago
Mark Paluch 84234858db Include netty-handler as transient dependency of cassandra-driver-dse
Previously, Spring Data Cassandra excluded Netty from the Cassandra
Driver's dependencies. This was an error that we replicated in
our dependency management. The exclusion has been removed from
Spring Data Cassandra's pom. This commit makes the equivalent update
to our dependency management.

Fixes gh-6616
Closes gh-6721
8 years ago
Stephane Nicoll 3d04fbc0d4 Merge pull request #6728 from izeye:polish-20160823
* pr/6728:
  Polish
8 years ago
Johnny Lim 524edaea51 Polish
Closes gh-6728
8 years ago
Andy Wilkinson 742657983b Improve the error message when additional build-info prop has null value
Closes gh-6724
8 years ago
Andy Wilkinson f41e629760 Provide M2E lifecycle mapping metadata for Maven plugin’s build-info goal
Previously, configuring the build-info goal in a pom would result in 
Eclipse reporting an error for the pom as it didn’t know if/when to
execute the build-info goal.

This commit adds lifecycle mapping metadata so that the goal is executed
on incremental builds. This ensures that the contents of the generated
file are kept up-to-date, reflecting the latest build time, etc.

Closes gh-6723
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 a16aa767dc Tweak performance of RelaxedNames.separatedToCamelCase
Closes gh-6661
8 years ago
Andy Wilkinson 53374ec51d Merge pull request #6706 from Maciej Walkowiak
* gh-6706:
  Polish “Add constructor to TestRestTemplate that takes a RestTemplateBuilder”
  Add constructor to TestRestTemplate that takes a RestTemplateBuilder
8 years ago
Andy Wilkinson f117b93d49 Polish “Add constructor to TestRestTemplate that takes a RestTemplateBuilder”
Closes gh-6702
8 years ago
Maciej Walkowiak 53d7fd5aab Add constructor to TestRestTemplate that takes a RestTemplateBuilder
Closes gh-6706
See gh-6702
8 years ago
Andy Wilkinson 6cb18835b9 Reorder javadoc at-clauses to appease the Checkstyle gods 8 years ago
Andy Wilkinson 269bb9148c Add methods to RestTemplateBuilder for configuring interceptors
Closes gh-6701
8 years ago
Andy Wilkinson 32d0021eec Merge branch '1.3.x' 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
Andy Wilkinson 98d81110f2 Write management and main server access logs to separate files
Previously, when access logging was enabled and the management server
was running on a separate port, both the main server and the management
server would write their access logs to the same file. Having two
separate containers writing to the same file could cause problems such
as causing log rotation to break.

This commit updates the actuator so that when the management server is
running on a separate port (and therefore using a separate container)
it prepends management_ to the access log prefix so that the main
server and the management server write their access logs to separate
files in the same directory.

Closes gh-6618
8 years ago
Andy Wilkinson 81275887e4 Polishing 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
Andy Wilkinson 9420daf001 Downgrade Jedis to 2.8.1
Closes gh-6677
8 years ago
Andy Wilkinson 9ba12f1ad9 Update Jackson customization docs to mention new builder customizer
Closes gh-6678
8 years ago
Stephane Nicoll 62867685ed Fix reference to `@EntityScan` in the doc
Closes gh-6687
8 years ago
Andy Wilkinson dd465b7f79 Fix configuration of session ID generator on Tomcat 7
See gh-6679
8 years ago
Andy Wilkinson 984a6da262 Polising
Fix botched merge
8 years ago
Andy Wilkinson e2ceece525 Merge branch '1.3.x' 8 years ago
Andy Wilkinson 9300c6d422 Merge pull request #6683 from hengyunab
* gh-6683:
  Test that LaunchedURLClassLoader works when thread is interrupted
  Ensure that LaunchedURLClassLoader works when thread is interrupted
8 years ago