Commit Graph

164 Commits

Author SHA1 Message Date
Andy Wilkinson
f892363c0f Merge branch '1.5.x' 2017-04-04 12:30:34 +01:00
Andy Wilkinson
155d55097f Merge branch '1.4.x' into 1.5.x 2017-04-04 12:21:43 +01:00
Andy Wilkinson
47de05b52c Update Devtools to ignore manifest Class-Path entries that do not exist
Closes gh-8623
2017-04-04 12:15:51 +01:00
Phillip Webb
69b72874ea Extract logging listeners
Separate logging ApplicationListeners classes to a different package
so that the root `logging` package is no longer aware of `context`
concerns.

Fixes gh-8611
2017-03-14 13:45:53 -07:00
Phillip Webb
d8f827d224 Cleanup and format code 2017-03-06 17:08:09 -08:00
Phillip Webb
425dbc3e52 Update copyright header for edited files 2017-03-06 15:04:07 -08:00
Andy Wilkinson
23cda9012c Merge branch '1.5.x' 2017-02-28 12:26:04 +00:00
Andy Wilkinson
627edc0f7a Use a different approach to disable HATEOAS Objenesis instance's cache
Previously, reflection was used to set the OBJENESIS field of
DummyInvocationUtils with an Objenesis instance that does not use
caching. This has stopped working as the field is now declared final.

This commit updates the approach take by HateoasObjenesisCacheDisabler
to disable Objenesis's cache. Rather than changing the value of the
OBJENESIS field on DummyInvocationUtils, the cache field on the
ObjenesisStd instance is set to null instead. This has the desired
effect of disabling Objenesis's caching.

See gh-3784
Closes gh-8335
2017-02-28 12:24:19 +00:00
Phillip Webb
a4bcd20b64 Merge branch '1.5.x' 2017-02-27 20:43:18 -08:00
Phillip Webb
ca1540cefe Update header copyright for changed files 2017-02-27 20:41:18 -08:00
Brian Clozel
12d883f6b9 Introduce "server.servlet" configuration prefix
This commit refactors the `ServerProperties` property keys and
introduces a separate "server.servlet" namespace to isolate
servlet-specific properties from the rest.

Closes gh-8066
2017-02-07 16:48:22 +01:00
Stephane Nicoll
6af6e8e31b Remove auto-configuration for ServerProperties
This commit removes `ServerProperties` and `ManagementServerProperties`
auto-configurations. Those properties objects are now created using
`@EnableConfigurationProperties` only.

Closes gh-8108
2017-02-06 14:00:50 +01:00
Stephane Nicoll
cfdc75d384 Merge branch '1.5.x' 2017-02-06 10:38:16 +01:00
Johnny Lim
0adab8a2be Use logical 'and' instead of bitwise 'and'
Closes gh-8198
2017-02-06 10:35:13 +01:00
Andy Wilkinson
95f659f4f9 Add new WebApplicationType enum to pave the way for Web Flux support
Closes gh-8077
2017-01-30 20:26:24 +00:00
Eddú Meléndez
3d52c86a21 Annotate interfaces with @FunctionaInterface
Closes gh-6857
2017-01-27 16:41:01 +00:00
Brian Clozel
de98c4b3ff Provide Reactor 3 auto-configuration
This commit provides auto-configuration for the Reactor Core 3 library.
A new configuration namespace, "spring.reactor" allows to configure
hooks on operators, like "spring.reactor.stacktrace-mode.enabled".

This property is enabled automatically by devtools, since it improves
the developer experience and provides full stacktrace information when
exceptions occur (but at a performance cost).

Fixes gh-7302
2017-01-26 10:35:12 +01:00
Andy Wilkinson
531cf5d4f6 Merge branch '1.4.x' into 1.5.x 2017-01-19 09:28:14 +00:00
Andy Wilkinson
6a0fb8e44c Update DevTools' ResourceLoader to delegate to user's custom loader
Previously, when DevTools' was used it would set the application
context's ResourceLoader and overwrite any custom ResourceLoader that
had been configured. On the rare occasion when the user had customized
the ResourceLoader this meant that the customization was lost and
certain resources would become unavailable.

This commit updates DevTools' ResourceLoader to delegate a custom
ResourceLoader if one has been configured. If one has not been
configured it delegates as before, i.e. to
WebApplicationContextResourceLoader for web applications and to
DefaultResourceLoader for all others apps.

Closes gh-8010
2017-01-19 09:28:09 +00:00
Phillip Webb
aacf5d660f Update copyright year for changed files 2016-12-30 11:53:51 -08:00
Phillip Webb
97d7ffd8e8 Merge branch '1.4.x' into 1.5.x 2016-12-28 14:48:05 -08:00
Phillip Webb
61c931943f Fix Devtools PatternResolver Servlet support
Update ClassLoaderFilesResourcePatternResolver to support servlet
resources when it's being used with a WebApplicationContext.

Prior to commit 918e122ddc a `ResourceLoader` was not added to the
`ApplicationContext`, meaning that servlet resources could be found by
virtue of the protected `getResourceByPath()` method. Following commit
918e122ddc, the context `ResourceLoader` is set, meaning that all calls
to `getResource` delegate to the `ResourceLoader` and the
`ApplicationContext` methods are not invoked. Since the devtools
`ResourceLoader` wasn't Servlet aware, servlet resources could not
be found.

Fixes gh-7752
2016-12-28 14:25:11 -08:00
Phillip Webb
5299db3806 Fix deadlock when calling LiveReloadServer.stop()
Update LiveReloadServer so that different synchronization blocks are
used for the sockets and connection lists. Prior to this commit calling
`LiveReloadServer.stop()` would always result in a 60 second delay since
`stop()` owned the monitor add `removeConnection()` (called from a
different thread) needs it to remove the active connection.

Fixes gh-7749
2016-12-24 11:06:09 -08:00
Hrishikesh Joshi
c2992e3736 Add more debug logging to DevTools
Add debug logging for the included and excluded URL patterns and
matching URLs.

Fixes gh-7478
Closes gh-7544
2016-12-20 21:16:41 -08:00
Phillip Webb
4b9cba351b Merge branch '1.4.x' into 1.5.x 2016-12-19 12:36:57 -08:00
Phillip Webb
bd74c3d327 Polish formatting 2016-12-19 12:25:09 -08:00
Oscar Utbult
0a1009bc42 Use addAll instead of manual array to collection copy
Closes gh-7539
2016-12-01 12:12:19 +01:00
Phillip Webb
9e18021e8c Merge branch '1.4.x' into 1.5.x 2016-11-18 15:59:05 -08:00
Phillip Webb
fce17ca6d9 Polish 2016-11-18 15:50:19 -08:00
Andy Wilkinson
bed5155676 Merge branch '1.4.x' into 1.5.x 2016-11-17 19:56:27 +00:00
Andy Wilkinson
5857010dde Polishing: fix Checkstyle warning 2016-11-17 19:55:34 +00:00
Andy Wilkinson
eff0fc0221 Merge branch '1.4.x' into 1.5.x 2016-11-17 19:28:01 +00:00
Andy Wilkinson
918e122ddc Fix remote DevTools' support for adding and removing classes
Previously, remote DevTools only correctly supported modifying
existing classes. New classes that were added would be missed, and
deleted classes could cause a failure as they would be found by
component scanning but hidden by RestartClassLoader.

This commit introduces a DevTools-specific ResourcePatternResolver
that is installed as the application context's resource loader. This
custom resolver is aware of the files that have been added and
deleted and modifies the result returned from getResource and
getResources accordingly.

New intergration tests have been introduced to verify DevTools'
behaviour. The tests cover four scenarios:

- Adding a new controller
- Removing an existing controller
- Adding a request mapping to a controller
- Removing a request mapping from a controller

These four scenarios are tested with:

- DevTools updating a local application
- DevTools updating a remote application packaged in a jar file
- DevTools updating a remote application that's been exploded

Closes gh-7379
2016-11-17 19:19:54 +00:00
Phillip Webb
dfd327d68f Polish multiple root contexts in Restarter
See gh-7335
See gh-7336
2016-11-16 15:30:38 -08:00
Marius Bogoevici
34fb909b41 Support multiple root contexts in Restarter
Update devtools restarter to support multiple application contexts.

Fixes gh-7335
Closes gh-7336
2016-11-16 15:30:38 -08:00
Madhura Bhave
e7db7adfb8 Rename ApplicationStartedEvent
Rename `ApplicationStartedEvent` to `ApplicationStartingEvent` to
avoid confusion.

Fixes gh-7381
2016-11-15 15:43:35 -08:00
Brian Clozel
56fa34719d Merge branch '1.4.x' into 1.5.x 2016-11-03 11:00:05 +01:00
Craig Andrews
fc535fe27c Disable resource chain cache when DevTools is enabled
If the resource chain is used, such as by using the
`"spring.resources.chain.strategy.content.enabled"` property,
resource chain caching can prevent the developer from seeing
changes made to resources, so that caching should be disabled
when DevTools is enabled.

This commit sets the `"spring.resources.chain.cache"` property
to `true` when devtools is enabled.
2016-11-03 10:44:32 +01:00
Phillip Webb
5b66ffbb4b Merge branch '1.4.x' into 1.5.x 2016-10-31 23:09:36 -07:00
Phillip Webb
cecc1c8817 Disable DevTools property defaults in production
Update `DevToolsPropertyDefaultsPostProcessor` so that property defaults
are only added at development time. Properties are now added only when
`Restarter` is initialize or remote devtools is enabled.

Fixes gh-7014
2016-10-31 20:55:05 -07:00
Andy Wilkinson
570b292df7 Disable JspServlet's development mode by default
This commit switches off the auto-configured JspServlet's
development mode by default. Development mode is then switched on
when DevTools is on the class path.

Closes gh-7039
2016-10-20 21:02:21 +01:00
Stephane Nicoll
e643fc5bd1 Merge branch '1.4.x' into 1.5.x 2016-10-02 11:08:33 +02:00
Johnny Lim
503d735fdd Polish
Closes gh-7081
2016-10-02 11:07:04 +02:00
Andy Wilkinson
2a035d0748 Remove support for Velocity following its deprecation in 1.4
Closes gh-6971
2016-09-29 15:44:36 +01:00
Craig Andrews
d94eedfd8a Exclude META-INF/build-info.properties from restart
Prior to this commit any application configured to write
`META-INF/build-info.properties` could trigger unexpected application
restarts. The problem is particularly prevalent when using Eclipse M2E in
combination with Maven's `spring-boot-maven-plugin` `build-info` goal
and Gradle's `springBoot` `buildInfo()`.

Closes gh-7002
2016-09-23 07:58:39 +02:00
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
2016-09-07 10:50:39 -07:00
Andy Wilkinson
a6f443a953 Automatically disable DevTools when running a Cucumber test
Closes gh-6412
2016-07-19 09:54:37 +01:00
Andy Wilkinson
e9c69f261d Merge branch '1.3.x' 2016-07-19 08:55:45 +01:00
Andy Wilkinson
e1950e34c6 Include cause when throwing exception due to unreadable manifest
Closes gh-6417
2016-07-19 08:48:04 +01:00
Andy Wilkinson
bf618d505c Merge branch '1.3.x 2016-07-13 10:38:03 +01:00