Commit Graph

539 Commits (3404850b2e4d501766cd6be89e9f16aa42710566)

Author SHA1 Message Date
Phillip Webb fcebf9d360 Merge branch '1.1.x' 10 years ago
Phillip Webb f4dc090bae Add a little more context to ErrorPageFilter log
Add the servlet and context path along with the exception message to
the error logged in ErrorPageFilter.

See gh-1427
10 years ago
Dave Syer bb13ebc0a3 Merge branch '1.1.x' 10 years ago
Dave Syer 2d67452128 Log exceptions in ErrorPageFilter
For some reason I thought that the DispatcherServlet default handler
would log all exceptions, so if we did it in the ErrorPageFilter it
would lead to duplicates. That appears not to be the case.

Fixes gh-1427
10 years ago
Andy Wilkinson 595c81124d Polishing 10 years ago
Phillip Webb bd4eda383f Create ApplicationHome class
Extract useful logic from StartupInfoLogger to a new ApplicationHome
class.

Fixes gh-1414
10 years ago
Andy Wilkinson 8e5556bcfa Merge branch '1.1.x'
Conflicts:
	spring-boot-dependencies/pom.xml
10 years ago
Andy Wilkinson c1d6e5e897 Upgrade to Tomcat 7.0.55
Closes #1405
10 years ago
Phillip Webb 8476a79dd2 Add support for RelaxedDataBinder aliases
Update RelaxedDataBinder to support property aliases and change
DataSourceBuilder to use them.

Fixes gh-1384
10 years ago
Phillip Webb a6e6e1e07a Rename Banner.write method to printBanner
Rename Banner.write to Banner.printBanner for consistency with the
now deprecated SpringApplication.printBanner method.
10 years ago
Michael Stummvoll 36ab01c048 Support programmatic banners via setter
Introduce an easy way for the user to provide an custom programmatic
banner to the Application as alternative to the static banner.txt file,
without the need to override SpringApplication class.

Fixes gh-1363
10 years ago
Raphael von der Grün a35a79e1a3 Allow ANSI output to be configured by properties
Add AnsiOutputApplicationListener which configures AnsiOutput.enabled
based on a `spring.output.ansi.enabled` property.

Fixes gh-1243
10 years ago
Dave Syer c556175381 Merge branch '1.1.x' 10 years ago
Dave Syer 2fae4afe95 Ensure status in ErrorPageFilter defaults to 200
Fixes gh-1369. Note that this is caused by the ErrorPageFilter, so
only a problem when deployed as a WAR.
10 years ago
Phillip Webb 029b9dba23 Merge remote-tracking branch 'springsource/1.1.x'
Conflicts:
	spring-boot/src/test/java/org/springframework/boot/context/properties/ConfigurationPropertiesBindingPostProcessorTests.java
10 years ago
Phillip Webb 9a7a4a46c9 Don't cause early FactoryBean instantiation
Update ConfigurationPropertiesBindingPostProcessor to use
`getBeansOfType` with `allowEagerInit=false` rather than `getBean`.

This prevents FactoryBeans from being instantiated early when their
type is not known.

Fixed gh-1365
10 years ago
Spring Buildmaster 74d0c5185a Next development version 10 years ago
Phillip Webb 7641f23f71 Merge branch '1.1.x' 10 years ago
Phillip Webb 621649d9c6 Document @ConfigurationProperties on @Bean methods
Minor javadoc edits to hint that @ConfigurationProperties can also be
used with @Bean methods.

Fixes gh-1330
10 years ago
Phillip Webb 92899474ac Polish 10 years ago
Andy Wilkinson 5f8c1e77cc Merge config from custom locations with default configuration
Previously, when one or more custom locations were specified on
@ConfigurationProperties, the configuration loaded from those locations
was used in isolation from the default configuration provided by the
environment. Users have been surprised by this behaviour. For example,
it means that a placeholder used in the custom configuration will not
be resolved against the system properties.

This commit adds a new attribute, merge, to @ConfigurationProperties,
that defaults to true. When merge is true the default property sources
are appended to those that are loaded from the custom locations. When
set to false the custom configuration is used in isolation.

Closes #1301
10 years ago
Dave Syer 26cc628535 Merge branch '1.1.x' 10 years ago
Stephane Nicoll 76729fdf85 Propagate RelaxedConversionService
Prior to this commit, the internal BeanWrapper used by the
RelaxedDataBinder was not using any conversion service at all. This
commit makes sure to propagate the one that has been configured
internally.

Also a dummy call to a [foo] key seems to have been left and has
been removed. This allows to support Enum as map key.

Fixes gh-1242
10 years ago
Dave Syer a7338e18df Merge branch '1.1.x' 10 years ago
Dave Syer 9372d15433 Explicitly set status on raw unwrapped response
The ErrorPageFilter wasn't setting the response status in the case that
there was an error page mapped to the current request (i.e. for all
autoconfigured apps). N.B. this only affects non-embedded apps.

Fixes gh-1320
10 years ago
Andy Wilkinson b78d43e0b8 Merge branch '1.1.x' 10 years ago
Andy Wilkinson bacbff1fbf Do not flush response buffer in ErrorPageFilter if request is async
Previously, the ErrorPageFilter would always flush the response
buffer, irrespective of the request being asynchronous. This could
lead to a response being committed prematurely, preventing, for
example, headers being set by subsequent processing.

This commit updates ErrorPageFilter so that in the success case
(status < 400) the response buffer is only flushed if the request is
not async (determined by calling request.isAsyncStarted()). If an
exception's been thrown or the status is >= 400 the response buffer
is always flushed.

Fixes #1316
10 years ago
Phillip Webb da5c36c3a9 Polish 10 years ago
Phillip Webb 53d24301d1 Merge branch '1.1.x' 10 years ago
Phillip Webb f8bf0e2031 Polish 10 years ago
Andy Wilkinson ba2c38c803 Merge branch '1.1.x' 10 years ago
Andy Wilkinson 32a19f590d Enable test that relies on class and groovy script configuration
Since Spring 4.0.4, it's now possible to use both classes and
locations to provide a test's configuration.

Closes #1300
10 years ago
Andy Wilkinson 8583317651 Merge branch '1.1.x' 10 years ago
Andy Wilkinson bd577f1515 Rework Jetty startup so connectors are only started once
Previously the server was started to make the ServletContext
available, then, to prevent requests from being handled before the
application context had been started, the connectors were stopped.
Once application context startup had completed, the connectors were
then started again. In addition to being somewhat inefficient, this
caused problems on FreeBSD where stopping the connector didn't free
up the port quickly enough for the subsequent start to then be able
to bind to it.

This commit updates the Jetty startup logic to be closer to the logic
that's used for Tomcat. Before the server is started, the configured
connectors are cached and then removed. The server is then started
without any connectors. Once application context startup has
completed, the connectors are reinstated and started.

Fixes #968
10 years ago
Dave Syer 13c94172b0 Merge branch '1.1.x' 10 years ago
Dave Syer 8c15b13fda Change private method name 10 years ago
Dave Syer cc51296397 Merge branch '1.1.x' 10 years ago
Dave Syer 32ede50d19 Extract property sources from composite when binding
Often this change will not be important because you are binding to
a bean with strongly typed properties. A bean with a Map property,
on the other hand, won't oytherwise be able to reason about the
permitted keys so it will miss any non-enumerable property sources,
including composites whose nested sources are themselves enumerable.

Fixed gh-1294
10 years ago
Andy Wilkinson 7bb1f7eb77 Polishing: use passed-in ssl instance rather than calling getSsl() 10 years ago
Andy Wilkinson 0960908bd7 Add support for configuring SSL declaratively
Both Tomcat and Jetty can now be configured to use SSL via the
environment (typically application.properties or application.yml)

Closes #1084
10 years ago
Dave Syer 300e570f68 Reverse priority of property sources when extracting sub properties
Fixes gh-1259
10 years ago
Andy Wilkinson 3145edff3a Upgrade to Spring 4.1.0 and use Yaml support that migrated from Boot
Closes #813
10 years ago
Dave Syer 890fc71967 Merge branch '1.1.x' 10 years ago
Dave Syer 4a33ab5577 Make sure ErrorPageFilter is only applied once per request
Fixes gh-1257
10 years ago
Dave Syer fc9b160a72 Merge branch '1.1.x' 10 years ago
Dave Syer 8853c7c352 Ensure properties that are not enumerable can be resolved from placeholders
Before this change a property whose key was in a non-enumerable property source would
not resolve placeholders, leading to ${style} values in @ConfigurationProperties beans
even if the placeholders ere resolvable.
10 years ago
Andy Wilkinson 847627810a Merge branch '1.1.x' 11 years ago
Ilayaperumal Gopinathan 341412d5b5 Fix LoggingApplicationListener
- If `logging.config` is set and could open/read the resource
then, return.
  - Currently, it logs warning though the resource is successfully
read.
11 years ago
Stephane Nicoll 249e09d9bc Switch master to 1.2.0.BUILD-SNAPSHOT 11 years ago
Dave Syer 81a4548561 Ensure embedded containers actually stop if there is an error on startup
Both embedded containers need to be checked after starting to ensure that they
are actually running. With Jetty it's just a question of catching an exception
but with Tomcat it's harder (the current solution involves duplicating some
code from initialize() into start() essentially checking the lifecycle state).

Also adjusted the log levels to prevent noise at WARN level by default when
this happens (since the exception is logged and rethrown anyway).

There is still the issue of whether to fail the build in Maven or Gradle
(separate issue really).

Fixes gh-1232
11 years ago