Commit Graph

5982 Commits

Author SHA1 Message Date
izeye acadc688bb Upgrade to Spring REST Docs 1.0.0.RELEASE
Closes gh-4140
2015-10-12 14:29:59 +01:00
Andy Wilkinson dcbb27320d Upgrade to jOOQ 3.7.0
Closes gh-4147
2015-10-12 14:18:00 +01:00
Andy Wilkinson 8ee8c9fe90 Merge branch '1.2.x' 2015-10-12 14:12:20 +01:00
Andy Wilkinson d33d068fae Upgrade to Tomcat 8.0.28 and test support for SSL config from classpath
Prior to 8.0.28 Tomcat required the key store and trust store (if any)
to be available directly on the filesystem, i.e. classpath: resources
would not work. Tomcat 8.0.28 removed this limitation.

This commit updates to Tomcat 8.0.28, updates the tests to verify
the new Tomcat capability and removes the obsolete documentation of
the restriction.

Closes gh-4048
2015-10-12 13:36:32 +01:00
Andy Wilkinson d90647d712 Merge branch '1.2.x' 2015-10-12 13:07:44 +01:00
Andy Wilkinson ee3d4b34a0 Consider parent when application is built and then run
Previously, the parent context was only considered when the builder
was used to run the application. If the application was built using
the builder and then run using SpringApplication.run, the parent
context was not considered.

This commit updates the builder to consider the parent both when it's
used to run the application and when it's used to build the
application that will later be run via SpringApplication.run

Closes gh-4014
2015-10-12 13:06:44 +01:00
Stephane Nicoll 00af1f5c10 Flag main MbeanExporter `@Primary`
When the actuator is enabled, Spring Boot provides two `MBeanExporter`
bean definitions: a general purpose one and a dedicated one for Actuator
endpoints.

This commit flag the general purpose one `@Primary` so that component
can safely inject it by type if necessary. In particular, this fix the
doc of the `JmxMetricWriter`.

Closes gh-4007
2015-10-12 11:43:16 +02:00
Andy Wilkinson 6c4e4520d4 Merge branch '1.2.x' 2015-10-12 10:37:25 +01:00
Andy Wilkinson 050a4fed17 Restore compatibility with Gradle 2.0
Gradle 2.0, and only 2.0, requires a Plugin implementation to be
public. The changes made in gh-4113 (9c14ed3) made the class
package-private.

Closes gh-4139
2015-10-12 10:33:33 +01:00
Andy Wilkinson 60a7880f62 Merge branch '1.2.x' 2015-10-12 10:31:37 +01:00
Andy Wilkinson 9c14ed3502 Remove stale Java source from src/main/groovy in the Gradle plugin
Closes gh-4113
2015-10-12 10:30:31 +01:00
Stephane Nicoll b1a38a8a44 Upgrade to Undertow 1.3.0.Final
Closes gh-3969
2015-10-12 10:13:18 +02:00
Stephane Nicoll fb4cc718c2 Reuse existing ElasticSearch client
Instead of always creating a new ElasticSearch client, we now check for
the presence of a custom bean configuration and use that if it's
available.

Closes gh-4143
Closes gh-4146
2015-10-12 09:47:48 +02:00
Stephane Nicoll dd163edc92 Merge branch '1.2.x' 2015-10-12 09:22:12 +02:00
Stephane Nicoll ed1b5cbfde Upgrade to H2 1.4.190
Closes gh-4145
2015-10-12 09:21:29 +02:00
Stephane Nicoll 6f941e3a04 Upgrade to H2 1.4.190
Closes gh-4145
2015-10-12 09:20:36 +02:00
Phillip Webb 877e6e034c Polish 2015-10-09 17:08:28 -07:00
Phillip Webb 13d9601799 Merge branch '1.2.x' 2015-10-09 16:48:43 -07:00
Phillip Webb 70214da2e4 Fix broken formatting 2015-10-09 16:41:36 -07:00
Phillip Webb 822820f256 Revert "Relax `ParenPad` checkstyle rule"
The updated formatter means that we can reinstate the rule.

This reverts commit 82fffe3062.
2015-10-09 13:54:33 -07:00
Phillip Webb b6667e8495 Reformat code using Spring code formatter plugin 2015-10-09 13:54:33 -07:00
Phillip Webb 6333426cbf Reformat package-info.java files with Eclipse Mars 2015-10-09 13:54:25 -07:00
Phillip Webb 8318698f55 Store checkout location in workspace variable
Update the Eclipse product setup so that `checkout.location` is stored
as a workspace variable. Without this things get mixed up when trying
to run different installations for different branches.

See gh-4110
2015-10-09 13:41:49 -07:00
Phillip Webb e86e8c2024 Install Spring formatter Eclipse plugin
Update Oomph project setup to install the Spring code formatter.

See gh-4136
2015-10-09 13:40:54 -07:00
Phillip Webb 04074fece1 Merge branch '1.2.x' 2015-10-09 13:39:09 -07:00
Phillip Webb 94736719f1 Reformat package-info.java files with Eclipse Mars 2015-10-09 13:32:57 -07:00
Phillip Webb b779e8e4fc Add custom Eclipse code formatter
Update Eclipse settings to make use of a custom Spring formatter
implementation. Using a custom formatter allows us to fix a couple of
issues with the version that shipped with Eclipse Mars.1 (Eclipse bugs

The custom formatter also means that it is possible to use Groovy
Eclipse despite the fact that it has formatter regressions (see
https://github.com/groovy/groovy-eclipse/issues/142).

Fixes gh-4136
2015-10-09 10:33:14 -07:00
Stephane Nicoll 3cabca7db4 Merge pull request #4118 from mdeinum/gh-4115
* pr/4118:
  Polish
  Added support for the DB2 AS400 Driver
2015-10-09 17:18:24 +02:00
Stephane Nicoll b9c885f5d2 Polish
Closes gh-4118
2015-10-09 17:16:46 +02:00
Marten Deinum bad8c1bee8 Added support for the DB2 AS400 Driver
Closes gh-4115
2015-10-09 17:16:21 +02:00
Stephane Nicoll 7fd9d58fd6 Merge pull request #4119 from mdeinum/gh-4114
* pr/4119:
  Polish
  Add support for the DB2 Universal JDBC driver
2015-10-09 17:05:18 +02:00
Stephane Nicoll 7971ef24ce Polish
Closes gh-4119
2015-10-09 17:05:06 +02:00
Marten Deinum 96830a550a Add support for the DB2 Universal JDBC driver
Closes gh-4114
2015-10-09 17:03:13 +02:00
Stephane Nicoll c8e2b27e09 Merge pull request #4120 from d10xa/fix-typo
* pr/4120:
  Fix typo
2015-10-09 17:02:29 +02:00
d10xa d5e3e991fa Fix typo
Closes gh-4120
2015-10-09 17:02:13 +02:00
Stephane Nicoll 02ef68163a Remove redundant deprecated attribute
The `deprecated` attribute is deprecated as of Spring Boot 1.3 and
replaced by the `deprecation` object. Any IDE relying on the previous
structure still expects the `deprecated` attribute though.

The annotation processor is adding that information automatically when it
merges manual content so it is not necessary to define that attribute in
the source.

Closes gh-4127
2015-10-09 16:53:17 +02:00
Stephane Nicoll ce544e8131 Add a reference to Windows service sample
Closes gh-3829
2015-10-09 16:37:58 +02:00
Andy Wilkinson 2afb641603 Merge branch '1.2.x' 2015-10-09 15:21:21 +01:00
Andy Wilkinson 04c2bd9c89 Update tests to expect additional entry in test jar
Closes gh-4124
2015-10-09 15:19:50 +01:00
Andy Wilkinson 8948322d7a Merge branch '1.2.x' 2015-10-09 14:59:54 +01:00
Andy Wilkinson 888fa90265 Ensure that JarFileArchive unpacks entries to unique location
Previously, JarFileArchive would always unpack any entries marked for
unpacking to ${java.io.tmpdir}/spring-boot-libs. This could cause
problems if multiple Spring Boot applications were running on the same
host:

- If the apps are run as different users the first application would
  create the spring-boot-libs directory and the second and subsequent
  applications may not have write permissions to that directory
- Multiple apps may overwrite each others unpacked libs. At best this
  will mean one copy of a jar is overwritten with another identical
  copy. At worst the jars may have different contents so that some of
  the contents of the original jar disappear unexpectedly.

This commit updates JarFileArchive to use an application-specific
location when unpacking libs. A directory beneath ${java.io.tmpdir} is
still used but it's now named <jar-file-name>-spring-boot-libs-<uuid>.
A loop, limited to 1000 attempts, is used to avoid problems caused by
the uuid clashing.

Closes gh-4124
2015-10-09 14:59:18 +01:00
Andy Wilkinson 9973147291 Merge branch '1.2.x' 2015-10-09 13:21:27 +01:00
Andy Wilkinson f7d2bafb3e Use Java 8 on Travis as the samples now require it
Commit 09395f95 updated the samples to require Java 8. This commit
updates the Travis configuration to build with Java 8.

Closes gh-4133
2015-10-09 13:18:29 +01:00
Andy Wilkinson aae1b31f3a Merge branch '1.2.x' 2015-10-09 12:42:23 +01:00
Andy Wilkinson 0069e41c29 Prevent closed context from being refreshed again by an HTTP request
Prior to this commit, EmbeddedWebApplicationContext would perform its
close processing and then stop the embedded container. This could
lead to the closed context's dispatcher servlet handling an HTTP
request and refreshing the context again. This opened up two
possibilities that we need to avoid:

1. Another HTTP request could be received by the dispatcher servlet
   while the context is still being refreshed. This could lead to the
   context being used before its refreshed. I believe this could be
   the cause of the current modification exception described in
   gh-3239 and SPR-13123.
2. It can lead to a race during shutdown as the shutdown hook's
   attempt to close the context races with the refresh initiated by
   the HTTP request. This is possible as the shutdown hook bypasses
   the sychronization on startupShutdownMonitor that would normally
   prevent refresh and close from occurring in parallel. This race
   can lead to a deadlock as described in gh-4130

Closes gh-4130
2015-10-09 12:24:43 +01:00
Stephane Nicoll 422444c3f2 Add throwExceptionIfNoHandlerFound property
Add a property to customize if an exception should be thrown when no
handler was found to process a given request.

Closes gh-4000
2015-10-09 11:40:46 +02:00
Stephane Nicoll 535a696604 Polish 2015-10-09 09:31:53 +02:00
Andy Wilkinson 46c397007c Avoid ClassCastExceptions in DevTools when using Spring HATEOAS
Spring HATEOAS’s DummyInvocationUtils, that is used by
ControllerLinkBuilder, uses Objenesis. By default, Objenesis caches
the instances that it creates and uses the class name as the cache key.
This is problematic when DevTools’ restart support is enabled as the
class loader changes with each restart and ClassCastExceptions occur
due to Objenesis returning a cached instance that was created by an
old restart class loader.

This commit works around the problem described above by auto-configuring
a bean that uses reflection to replace DummyInvocationUtils’ default
Objenesis instance with one that has caching disabled.

Closes gh-3784
2015-10-08 18:53:25 +01:00
Andy Wilkinson 29e3339fef Upgrade to Undertow 1.3.0.CR3
See gh-3969
2015-10-08 16:25:23 +01:00
Andy Wilkinson 4968900b1d Gracefully disable Solr auto-configuration when Solr 5 is on classpath
Previously, if Solr 5 was on the classpath, SolrAutoConfiguration
would fail with a rather cryptic error message due to a change in the
inheritance hierarchy of CloudSolrServer between Solr 4 and Solr 5.

This commit updates SolrAutoConfiguration to be conditional on a
class that exists in Solr 4 but was removed in Solr 5. This has the
effect of switching off the auto-configuration when Solr 5 is on
the classpath, allowing the auto-configuration report to be used to
identify why the configuration was disabled. The documentation has
also been updated to state that Spring Boot does not currently support
Solr 5.0.

Closes gh-2795
2015-10-08 16:24:05 +01:00