Commit Graph

3961 Commits (49bc12d564c377f5db40f1e5d0adde41a9498e03)
 

Author SHA1 Message Date
Andy Wilkinson 49bc12d564 Make spring-plugin-core a compile dependency so EntityLinks can be used
See gh-2396
10 years ago
Andy Wilkinson 01344c8617 Add a starter for building a RESTful service with Spring HATEOAS
Closes gh-2396
10 years ago
Andy Wilkinson ea7b5c6e3c Improve support for alternative Log4j 2 configuration file formats
This commit adds support for configuring Log4j 2 with YAML. It also
improves the existing support for configuring Log4j 2 with JSON.

Previously, Log4J2LoggingSystem returned a hard-coded list of standard
config locations that includes both JSON and XML file suffixes. Log4j 
2’s support for JSON configuration files requires Jackson’s ObjectMapper
to be on the classpath so, in its absence, the standard config locations
were incorrect.

This commit updates Log4J2LoggingSystem to return an array of standard
config locations based on what’s on the classpath. It also updates the
documentation to describe the additional dependencies that are required
to enable YAML or JSON-based configuration.

Closes gh-2239
10 years ago
Andy Wilkinson f0421801fb Update spring-boot-sample-tomcat-jsp to use Tomcat 8
Closes gh-2394
10 years ago
Andy Wilkinson b542aa3de6 Configure Hibernate with a WAS-specific JtaPlatform when running on WAS
At the time of writing WAS only supports JPA 2.0 which means that
Hibernate 4.2 is the latest version that can be used. SpringJtaPlatform
is Hibernate 4.3-specific as JtaPlatform’s package changed between
Hibernate 4.2 and 4.3. This means that SpringJtaPlatform can’t be used
on current versions of WAS. Futhermore, SpringJtaPlatform won’t work on
WAS even if we could use Hibernate 4.3 as WAS doesn’t make its
TransactionManager available to application code (it’s considered too
dangerous for general consumption) and SpringJtaPlatform
requires a TransactionManager.

This commit updates HibernateJpaAutoConfiguration to always treat WAS as
a special case and configure Hibernate with one of its WAS-specific
JtaPlatform implementations. 

Closes gh-2326
10 years ago
Andy Wilkinson 2665ef0692 Merge branch '1.1.x' 10 years ago
Andy Wilkinson 93b2a17fb8 Make repackage depend on jar tasks from runtime project dependencies
By default, when building a project's jar its runtime dependencies
are not taken into account as they are not needed to successfully
compile the code that will be packaged in the jar. A side-effect of
this was that, if a project that was being repackaged had a runtime
dependency on another project, then the repackaged jar would not
include the jar of the project on which it has the runtime dependency
as the jar had not been built.

This commit updates Boot's repackage task to have a dependency on the
jar task of any project dependencies in the runtime configuration
thereby ensuring that those dependencies' jars will have been built
before the repackaging occurs.

Fixes gh-2344
10 years ago
Andy Wilkinson ca69156afd Merge branch '1.1.x' 10 years ago
Andy Wilkinson bbd2486c04 Run invoker plugin with a single thread to avoid build failures
Running the invoker plugin with multiple threads against an empty
Maven cache results in strange build failures where Maven claims that
it cannot find a jar or pom file for an artifact that it should be
able to find. It would appear that Maven is unable to cope with
concurrent writes to its cache.

This commit removes the usage of multiple threads that was introduced
in 4e907f1.

Fixes gh-2389
10 years ago
Andy Wilkinson cc221885f8 Merge branch 'gh-2361' 10 years ago
Andy Wilkinson 606ea4979a Add a test to cover the merging of an additional metadata file
This test covers the code path that caused gh-2361 and also checks that,
when an additional metadata file is found, it’s correctly merged with
the other metadata.

Closes gh-2361
10 years ago
Kris De Volder 65acaf885b Remove incorrect assumption that output will be in folder named classes
When running in Eclipse, by default Gradle builds its output into a
folder named bin. This commit update the annotation processor to remove
the failure assumption that the output will always be located beneath
a folder named classes.

Closes gh-2369
See gh-2361
10 years ago
Drummond 0025be8771 Upgrade to Flyway 3.1
The 3.1 release includes an important fix to restore JDK 6
compatibility with the Gradle plugin [1].

Closes gh-2260

[1] https://github.com/flyway/flyway/issues/779
10 years ago
Dave Syer 1be12ee945 Merge branch '1.1.x' 10 years ago
Dave Syer 4e907f19ce Carefully add nested archives from JAR in PropertiesLauncher
If user runs an executable archive then it and its lib directory will be
on the classpath. Entries from loader.path take precedence in a way that
should make sense to users (earlier wins like in CLASSPATH env var).

Also added new integration tests to verify the behaviour (big improvement
on the old ones, which probably aought to be beefed up to the same
standard).

Fixes gh-2314
10 years ago
Chris Schaefer 6975b206bc Upgrade Spring Cloud Connectors to 1.1.1.RELEASE
Closes gh-2373
10 years ago
Andy Wilkinson 160bf1ee3f Merge branch '1.1.x'
Conflicts:
	spring-boot/src/main/resources/org/springframework/boot/logging/logback/defaults.xml

Closes gh-2366
10 years ago
Andy Wilkinson c857f957fa Correct syntax for thread name formatting in Logback XML configuration
See gh-2366
10 years ago
Andy Wilkinson 247c596f8c Remove duplicate console appender from Actuator sample's logback config
Closes gh-2381
10 years ago
Andy Wilkinson a1fbd1eeb5 Improve Servlet, Filter, and EventListener configuration diagnostics
ServletContextInitializerBeans handles existing registration beans and
also creates initializers for existing Servlet, Filter, etc beans.
Debug logging has been added to this class to improve things in three
main areas:

 - Distinguish between existing registration beans and those that are
   created to wrap a Servlet or Filter bean
 - Provide information about the resource (configuration class or XML)
   that resulted in the creation of the bean
 - Log information about EventListeners

Closes gh-2177
10 years ago
Andy Wilkinson 1d312171c1 Merge branch '1.1.x' 10 years ago
Andy Wilkinson f10c9b5312 Avoid race between file creation and its contents being written
Previously, SampleIntegrationParentApplicationTests assumed that when
an output file existed on disk its contents would have been written
in their entirety. This assumption does not hold true and causes the
test to fail intermittently as it incorrectly determines that the test
has produced no output.

This commit updates the test to wait for up to 30 seconds for the
output files to appear on disk and for the expected content to be
found in one of those files. If the files exist but do not
contain the expected content the test will keep trying until it does
or until too much time as elapsed.

Fixes gh-2380
10 years ago
Andy Wilkinson 394f23a7ab Merge branch 'gh-2348' 10 years ago
Andy Wilkinson 42e1a0b069 Add a test to verify customization of Hibernate's JtaPlatform
Closes gh-2348
10 years ago
Manuel Doninger c45604b825 Ensure that Hibernate's JtaPlatform can be customized
Previously, when JpaProperties was applying additional properties it
discarded any existing properties. This meant that custom
configuration of Hibernate's JtaPlatform was not detected and that
Boot's SpringJtaPlatform would always be configured instead.

This commit updates JpaProperties to include all of the existing
properties when it's asked to apply any additional properties.

See gh-2348
Closes gh-2359
10 years ago
Andy Wilkinson e19bfd9251 Document how to use Tomcat 7 or Jetty 8 with Gradle
Previously, the documentation only provided examples of the required
configuration for Maven users. This commit adds equivalent configuration
snippets for those using Gradle. It also removes the recommendation to
override the version of the Servlet API as this is unnecessary. The pom
files for the Jetty 8 and Tomcat 7 samples have also been updated
accordingly.

Closes gh-2346
10 years ago
Andy Wilkinson 966e8e557d Make use of Collections.addAll instead of a for-loop where appropriate
Closes gh-2309
10 years ago
Andy Wilkinson 78432fc745 Disable javadoc linting when building with JDK 8+
Java 8 introduced new, aggressive linting of javadoc that’s enabled by
default. The linter isn’t sufficiently configurable to allow us to tune
it to meet the project’s conventions for javadoc so our only realistic
option is to disable linting.

This commit introduces a new profile to disable javadoc linting. To
maintain compatibility with JDK 7, the profile is only active when the
build’s running on JDK 8 or later.

Closes gh-2233
10 years ago
Stephane Nicoll dc501dfd2b Merge pull request #2370 from bclozel/acceptcharset
* acceptcharset:
  Disable Accept-Charset Header in String converter
10 years ago
Brian Clozel 6d60c23460 Disable Accept-Charset Header in String converter
This commit prevents the `Accept-Charset` from being written by the
StringHttpMessageConverter. This feature is enabled by default in the
framework and writes a *quite long* response header with all charsets
supported by the server.

Closes gh-2370, see gh-1800
10 years ago
Andy Wilkinson ff2d423fcb Correct the root context path used with Undertow
Undertow, like Tomcat, uses "" for the context path of the root
context. Previously, the Undertow deployment was being configured with
"/" for the root context. This was leading to a silent failure in
AsyncContextImpl.dispatch when it failed to look up the deployment
manager for the current request.

This commit updates UndertowEmbeddedServletContainerFactory to use the
correct context path (an empty String) for the root context.

Fixes gh-2365
10 years ago
Andy Wilkinson f019fb217d Merge branch 'gh-2031' 10 years ago
Andy Wilkinson e2f2839d32 Document Tomcat compression and GzipFilter auto-configuration
Closes gh-2031
10 years ago
Andy Wilkinson 69ea4beb8a Add auto-configuration for Jetty’s GzipFilter
Jetty’s GzipFilter is a container-agnostic Filter that can be used to
provide gzip and deflate encoding of HTTP responses. This commit adds
auto-configuration for GzipFilter that is enabled when
org.eclipse.jetty:jetty-servlets is on the classpath. The filter can
be configured using spring.http.gzip.*

See gh-2031
10 years ago
Andy Wilkinson ec17c00126 Add support for configuring Tomcat’s gzip support using the environment
Tomcat provide built-it support for gzip compression of HTTP responses.
This commit adds support for enabling and configuring this compression
via the environment using server.tomcat.compression and
server.tomcat.compressableMimeTypes.

See gh-2031
10 years ago
Dave Syer 704054a861 Merge branch '1.1.x' 10 years ago
Dave Syer b3597107ba More careful masking for the HTTP status in non-error cases
The ErrorPageFilter exposes a wrapped response to the downstream
chain and unless more care is taken the chain will be able to
set the response status, but not inspect it.

Fixes gh-2367
10 years ago
Andy Wilkinson 11c47d8a05 Merge branch '1.1.x' 10 years ago
Andy Wilkinson a51ad5c684 Update Eclipse template copyright date to 2015 10 years ago
Andy Wilkinson 492cf4ef54 Add jersey-bean-validation to spring-boot-starter-jersey
A dependency on org.glassfish.jersey.ext:jersey-bean-validation has
been added to spring-boot-starter-jersey. jersey-bean-validation’s EL
dependencies have been excluded in favour of those provided by
spring-boot-starter-tomcat (or starter-jetty or starter-undertow should
the user choose to use a different embedded container).

Closes gh-2315
10 years ago
Andy Wilkinson 16cb44f890 Merge branch '1.1.x' 10 years ago
Andy Wilkinson 376de01636 Don't remove @GrabResolver in JarCommand, disable initClass instead
Previously, JarCommand removed all @GrabResolver annotations in an
AST transformation. This was being performed as custom resolver
configuration is not necessary in a jar as all of the dependencies are
available from the jar. Furthermore, leaving the annotations in place
caused a failure when the jar was run due to a missing Ivy dependency
that's required by Groovy's default GrapeEngine, GrapeIvy.

The removal of @GrabResolver annotations was being done before they
could be used by Groovy's GrabAnnotationTransformation to configure
the GrapeEngine's resolvers. This resulted in the annotations having
no effect such that a dependency that was only available from a
repository made available by @GrabResolver would fail to resolve if
it was not cached locally.

This commit updates the AST transformation to leave the @GrabResolver
annotations in place but to set their initClass attribute to false.
This allows the annotation to be used while the jar's being compiled,
but supresses the generation of the static initializer that adds the
custom resolver to the GrapeEngine when the compiled code's run via
java -jar.

Fixes gh-2330
10 years ago
Andy Wilkinson 0074e9de9d Merge branch '1.1.x' 10 years ago
Andy Wilkinson 9744d28299 Uninstall SLF4J’s Java logging bridge handler during shutdown
Previously, when LogbackLoggingSystem or Log4JLoggingSystem were
initialized during application start up, they would install SLF4J’s Java
logging bridge handler, however no corresponding uninstall was performed
during application shutdown. When deployed to a servlet container, where
the application’s lifecycle doesn’t match the JVM’s lifecycle, this lead
to a memory leak.

This commit updates LoggingSystem to introduce a new cleanUp method. An
empty implementation is provided to preserve backwards compatibility
with existing LoggingSystem subclasses. Both LogbackLoggingSystem and
Log4JLoggingSystem have been updated to implement cleanUp and uninstall
the SLF4J bridge handler. LoggingApplicationListener has been updated
to call LoggingSystem.cleanUp in response to a ContextClosedEvent.

Closes gh-2324
10 years ago
Andy Wilkinson c0ef7d1815 Upgrade to Spring AMQP 1.4.2.RELEASE 10 years ago
Andy Wilkinson b97fc63234 Upgrade to Spring Integration 4.1.2.RELEASE
Closes gh-2352
10 years ago
Andy Wilkinson dcc07ad6c9 Upgrade to Mockito 1.10.19
Closes gh-2337
10 years ago
Andy Wilkinson 1ab510e53c Upgrade to H2 1.4.184
Closes gh-2334
10 years ago
Andy Wilkinson bb058934a6 Upgrade to Gson 2.3.1
Closes gh-2333
10 years ago
Andy Wilkinson de2087ff2e Merge branch '1.1.x' 10 years ago