Commit Graph

4907 Commits (805263ac629d1fc72d559ad61276ef61131d21d7)
 

Author SHA1 Message Date
Andy Wilkinson fc4376145c Process CompositePropertySources before EnumerablePropertySources
PropertySourcePropertyValues tries to process a PropertySource first
as an EnumerablePropertySource and then as a CompositePropertySource.
In Spring 4.1.2 CompositePropertySource was updated to extend
EnumerablePropertySource. This change meant that a
CompositePropertySource would always be processed as an
EnumerablePropertySource.

This commit updates PropertySourcePropertyValues to process a
PropertySource as a CompositePropertySource first and to then try it
is an EnumerablePropertySource.

Fixes gh-2608
10 years ago
Dave Syer 5aab484e11 Merge 1.2.x to pick up DataSourceInitializer changes 10 years ago
Dave Syer f1ecf53495 Delay instantiation of DataSource as late as possible
Unfortunately it still has to happen in a @PostConstruct (otherwise
JPA never sees the schema in time), but we can delay a bit by not
using @Autowired. Appears to fix the Spring Cloud problem
(https://github.com/spring-cloud/spring-cloud-config/issues/105).

Fixes gh-2658
10 years ago
Stephane Nicoll 3ecf512ab3 Fix documentation
Add `create` as a valid values for `spring.jpa.hibernate.ddl-auto`

Fixes gh-2641
10 years ago
Stephane Nicoll 7b2b11903a Add ApplicationReadyEvent
Add an event that indicates the Spring Application has fully started and
is now ready to service requests. While ContextRefreshEvent provides
such hook for a regular spring application, this dedicated event is
triggered once all callbacks have been processed and right before the
context is returned to the caller. Besides, such event is triggered once
per application, regardless of the number of (child) contexts that could
have been created.

Closes gh-2638
10 years ago
Stephane Nicoll bfee98e1f3 Add JMS health indicator
Define an additional health indicator for each ConnectionFactory instance
defined in the context. Extracts the provider name from the connection
meta-data.

Fixes gh-2016
10 years ago
Stephane Nicoll 9094706f6a polish 10 years ago
Stephane Nicoll 2c0d86f794 Merge pull request #2617 from joshiste/health-javamail
* health-javamail:
  Add mail health check
10 years ago
Johannes Stelzer cd8c3d7327 Add mail health check
Define an additional health indicator for each JavaMailSenderImpl
instance in the context.

Closes gh-2017 and gh-2617
10 years ago
Stephane Nicoll efd053a9d6 Merge branch '1.2.x' 10 years ago
Eric Dahl 018310e478 Fix broken link in docs 10 years ago
Stephane Nicoll 7c6ee8713a Merge pull request #2618 from ericdahl/docs-broken-link
* docs-broken-link:
  Fix broken link in docs
10 years ago
Eric Dahl 47b6d9588c Fix broken link in docs 10 years ago
Maciej Walkowiak f05769dcc5 Add auto-configuration for SendGrid's client
Closes gh-2160
Closes gh-2280
10 years ago
izeye 33a92caad6 Provide dependency management for logback-access
Closes gh-2550
10 years ago
izeye c4145106e8 Provide dependency management for MariaDB Java client
Closes gh-2448
10 years ago
Andy Wilkinson db650999db Merge branch 'gh-2430' 10 years ago
Andy Wilkinson 3649a89a03 Use maven-dependency-plugin 2.10 in Loader's integration test projects
Closes gh-2430
10 years ago
Michael Cramer 22e5f86f37 Upgrade to maven-dependency-plugin 2.10
See gh-2430
10 years ago
Michael Cramer 993f3a078d Upgrade to Joda-Time 2.7
Closes gh-2153
10 years ago
Andy Wilkinson 6811a41817 Merge branch '1.2.x' 10 years ago
Andy Wilkinson 743482ab69 Tolerate Gauges with non-Number values
Spring Boot's metrics infrastructure requires a Metric to have a
Number value. Coda Hale's ThreadStatesGaugeSet includes a Gauge
named deadlocks with a Set<String> value (each entry in the set is a
description, including stacktrace, of a deadlocked thread). There's
no obvious way to coerce this to a Number, and there's already a
deadlocks.count metric in the set.

This commit updates MetricRegistryMetricReader to ignore the addition
of any Gauge with a non-Number value.

Fixes gh-2593
10 years ago
Andy Wilkinson 3fbb7c91c1 Merge branch '1.2.x' 10 years ago
Andy Wilkinson 9f0654bd77 Merge branch '1.1.x' into 1.2.x
Conflicts:
	spring-boot-dependencies/pom.xml
10 years ago
Andy Wilkinson 44d98c6186 Upgrade to Freemarker 2.3.22
Closes gh-2581
10 years ago
Andy Wilkinson 20efbdd71f Merge branch '1.2.x' 10 years ago
Andy Wilkinson 71dde3ec89 Tolerate removal of JacksonJodaFormat in Jackson 2.5
We currently officially support Jackson 2.4, but some users wish to
use Jackson 2.5. This causes a failure as JacksonAutoConfiguration
depends on JacksonJodaFormat which exists in 2.4 but not in 2.5. This
commit updates JodaDataTimeJacksonConfiguration to make it conditional
on JacksonJodaFormat being on the classpath. This means that Jackson
2.5 users will not have configurable DateTime formatting
(added in 201fb5e5) but things will generally work once again.

Closes gh-2573
10 years ago
Andy Wilkinson 3800bd4573 Merge branch '1.2.x' 10 years ago
Andy Wilkinson e927f52f26 Don’t use findAvailableTcpPort to allocate Undertow a random port
Using findAvailableTcpPort is prone to failure when another process
starts using the available port before Undertow starts. This commit
changes UndertowEmbeddedServletContainerFactory to pass the value of
zero down into Undertow where it will ultimately be passed to a
ServerSocket which will then use the underlying OS’s support for binding
to an available port.

Undertow doesn’t provide an API for getting the port(s) on which it’s
listening. Previously, reflection was being used to access the listener
configuration but, when a random port is used, this configuration would
return zero rather than the actual port. The reflective logic has been
updated to look at Undertow’s channels from which the underlying
ServerSocket can be accessed and the local port retrieved

Closes gh-2584
10 years ago
Andy Wilkinson af5de18bf3 Merge branch '1.2.x' 10 years ago
Andy Wilkinson 4487823ff9 Improve thread-safety of MetricRegistryMetricReader
ee567fa boldy claimed that it had made MetricRegistryMetricReader
thread-safe. It had not. This commit should actually make it thread
safe. I hope.

One notable improvement is that MetricRegistryMetricReader.findAll()
will no longer contain null values if a metric is removed on another
thread during iteration.

names is now a ConcurrentHashMap to allow it to be safely read and
written without holding a lock.

reverse is a LinkedMultiValueMap  which is not thread-safe. This could
lead to values being lost when concurrent add calls were made. Access
to reverse is now protected by synchronizing on an internal monitor
object.

Calls to containsKey(key) followed by get(key) have been reworked to
only call get(key), this avoids the possibility of the key being
removed after the contains check but before the get.

Closes gh-2590
10 years ago
Andy Wilkinson 6a32519aa8 Merge branch '1.2.x' 10 years ago
Andy Wilkinson f761916b51 Honor unpack for war files
Previously repackaging of an archive was performed in three steps:

1. Write the manifest
2. Write entries from the source archive into the destination
3. Write any libraries into the destination if they’re not already there

This worked fine for jar files, but not for war files. In the war file
case the libraries are already in the source archive’s WEB-INF/lib
directory so they’re copied into the destination in step 2. This means
that step 3 largely becomes a no-op and, crucially, the UNPACK comment
is not applied to any libraries that require it.

This commit reorders steps 2 and 3 so that the libraries are copied into
the destination first (allowing the UNPACK comment to be written, if
required) and then any entries in the source are written into the
destination if they’re not already there.

Fixes gh-2588
10 years ago
Andy Wilkinson 3ce45c0bab Merge branch '1.2.x' 10 years ago
Andy Wilkinson ee567fa8dd Make MetricRegistryMetricReader thread-safe
MetricRegistryMetricReader’s fields where neither final, nor volatile
but could be accessed on multiple threads. This lead to visibility
problems where the value of a field would unexpectedly be null, causing
an NPE.

This commit updates all of the fields to declare them as final, thereby
ensuring that their values are guaranteed to be visible across different
threads.

Fixes gh-2590
10 years ago
Rob Winch 7ecbbc11f2 Merge branch '1.2.x' 10 years ago
Rob Winch 493d7a364d Merge branch '1.1.x' into 1.2.x 10 years ago
Rob Winch 760d6eceee Fix Unnecessarily Adding Default Security User
Fixes gh-2567
10 years ago
Phillip Webb 8f089fcae7 Merge branch '1.2.x' 10 years ago
Phillip Webb 0174476ff1 Merge branch '1.1.x' into 1.2.x 10 years ago
Phillip Webb 50e1f80581 Remove .factorypath files 10 years ago
Phillip Webb 561ed99b5b Merge branch '1.1.x' into 1.2.x 10 years ago
Phillip Webb 3048f44a96 Move master to 1.3.0.BUILD-SNAPSHOT 10 years ago
Phillip Webb 61ac918e87 Move master to 1.3.0.BUILD-SNAPSHOT 10 years ago
Phillip Webb a57a88f5cf Move master to 1.3.0.BUILD-SNAPSHOT 10 years ago
Phillip Webb 8ce39bda88 Fixup version numbers following release 10 years ago
Spring Buildmaster 8f0ad02237 Next development version 10 years ago
Phillip Webb 8a49218e82 Fixup version numbers following release 10 years ago
Phillip Webb 8ecbef08a5 Update copyright year in docs 10 years ago
Spring Buildmaster aea68f0c32 Next development version 10 years ago