Commit Graph

707 Commits

Author SHA1 Message Date
Phillip Webb a7a337a14f Merge branch '1.1.x' 2014-09-25 22:04:23 -07:00
Phillip Webb d0990c06a6 Fix typo in HttpMessageConverters auto-conf Tests 2014-09-25 22:03:30 -07:00
Spring Buildmaster edb4b7ed7d Next development version 2014-09-25 21:02:37 -07:00
Phillip Webb 08f2522eba Add missing @since tag 2014-09-25 20:09:49 -07:00
Phillip Webb 1ed90df630 Merge branch '1.1.x' 2014-09-25 13:06:54 -07:00
Phillip Webb bff39e954e Add `server.tomcat.port-header` support
Update Tomcat ServerProperties to support the RemoteIpValve portHeader
property.

Fixes gh-1616
2014-09-25 13:04:12 -07:00
Phillip Webb 0dc46a2fe7 Drop protocolHeader and remoteIpHeader defaults
The `protocolHeader` and `remoteIpHeader` no longer have default values
and must be opt-in.

Fixes gh-1624
2014-09-25 12:58:23 -07:00
Phillip Webb abed1f4d4c Restore ThymeleafAutoConfiguration test
Restore the test removed during the merge.
2014-09-25 10:41:32 -07:00
Phillip Webb 38585ec4eb Merge branch '1.1.x' 2014-09-25 10:40:49 -07:00
Phillip Webb 258059ea08 Fix failing ThymeleafAutoConfigurationTests
Remove accidental addition of a 1.2 test.
2014-09-25 10:27:05 -07:00
Phillip Webb 0d0e5eb590 Merge branch '1.1.x' 2014-09-25 10:05:35 -07:00
Dave Syer 304920df07 Make Thymeleaf @ConditionalOnWebApplication
If user creates a Thymeleaf app with a parent-child context then the
child should contain all the web-specific pieces (and they are likely
to fail fast if they need to be ServletContextAware, or slower if they
try to locate a WebApplicationContext at runtime). This can't happen
if the view resolver is being added to the parent.

Freemarker and Velocity already have similar tests because it is assumed
that they should be usable outside a web app, so this change just does the
same for Thymeleaf.

Fixes gh-1611
2014-09-25 09:54:50 -07:00
Phillip Webb 0b50fe4eff Support String to char[] bindings
Update RelaxedConversionService to also support String to char[]
conversion. Primarily to support the `password` field in
MongoProperties.

Fixes gh-1572
2014-09-24 16:03:51 -07:00
Andy Wilkinson 5d1a114aa6 Merge branch '1.1.x'
Redundant @ConditionalOnMissingBean annotation has been removed.
ActiveMQConnectionFactoryConfiguration is not auto-configuration and
is imported by ActiveMQAutoConfiguration which is protected by
@ConditionalOnMissingBean(ConnectionFactory.class)
2014-09-23 10:14:03 +01:00
Andy Wilkinson cf22e28ddc Add tests to verify that ActiveMQAutoConfiguration backs off
See gh-1599
2014-09-23 10:11:26 +01:00
Andy Wilkinson 42821990f4 Merge branch '1.1.x' 2014-09-23 09:42:29 +01:00
Tomas Lin 38d8a5cda0 Fix typo in comment
Closes gh-1596
2014-09-23 09:42:03 +01:00
Phillip Webb 0468cf5a8f Merge branch '1.1.x' 2014-09-19 22:42:53 -07:00
Phillip Webb 468db03aef Formatting 2014-09-19 22:41:10 -07:00
Dave Syer b06d10ddb0 Merge branch '1.1.x' 2014-09-19 16:12:38 +01:00
Dave Syer d6165d97dd A few tweaks that might improve performance on startup
... or couldn't hurt anyway.

1. Extends the definition of a web application for @ConditionalOnWebapp
so that a StandardEnvironment can be used (cutting out JNDI failures
for Environment properties)

2. Doesn't bother using StandardServletEnvironment in integration tests

3. Make the NON_ENUMERABLE_ENUMERABLES in PropertySourcesPropertyValues
static so they only get initialized once (not a huge issue at all)
2014-09-19 16:11:10 +01:00
Phillip Webb 3c5b007ff9 Add @Order annotations to conditions
Fixes gh-1574
2014-09-17 21:55:43 -07:00
Andy Wilkinson 3c93d9a803 Merge branch '1.1.x' 2014-09-17 19:41:14 +01:00
Andy Wilkinson 6dcaec2fef Make all @Bean methods public
This is a continuation of the changes made in 611f978. It makes some
more @Bean methods public and adds tests to spring-boot-actuator and
spring-boot-autoconfigure to prevent against non-public methods being
introduced in the future

Closes gh-1571
2014-09-17 19:39:39 +01:00
Phillip Webb 88f8eb7fa4 Merge branch '1.1.x' 2014-09-17 10:46:30 -07:00
Phillip Webb 611f978181 Make all @Bean methods public
Fixes gh-1571
2014-09-17 10:45:23 -07:00
Phillip Webb 4f610fa5a1 Merge branch '1.1.x'
Conflicts:
	spring-boot-samples/spring-boot-sample-tomcat-ssl/pom.xml
	spring-boot-samples/spring-boot-sample-tomcat-ssl/src/test/java/sample/tomcat/SampleTomcatSslApplicationTests.java
	spring-boot/src/main/java/org/springframework/boot/context/embedded/ConfigurableEmbeddedServletContainer.java
	spring-boot/src/main/java/org/springframework/boot/context/embedded/Ssl.java
2014-09-17 10:11:30 -07:00
Phillip Webb 62a5ce52d0 Backport Jetty/Tomcat SSL support
Fixes gh-1570
Cherry-picked from 0960908 and 258c6f1
2014-09-17 10:08:05 -07:00
Phillip Webb c0f69d28d3 Remove inadvertently committed debug System.out 2014-09-17 10:08:05 -07:00
Dave Syer 5946ade199 Merge branch '1.1.x' 2014-09-17 10:20:03 +01:00
Dave Syer 95c15733bc Use ErrorController.getErrorPath() to ignore the error path for security
Fixes gh-1548 again
2014-09-17 10:19:18 +01:00
Andy Wilkinson e8ce93715a Merge branch '1.1.x' 2014-09-16 17:20:35 +01:00
Andy Wilkinson eed58eecb4 Improve error handling in EnableAutoConfigurationImportSelector
Previously, EnableAutoConfigurationImportSelector assumed that it
would always find auto-configuration attributes from an
@EnableAutoConfiguration annotation. This assumption does not hold
true in certain circumstances, although exactly what those
circumstances are is unclear. It could occur if the import selector
were used directly, but it's package-private making that unlikey. In
such circumstances a NullPointerException was being thrown.

This commit asserts that the attributes are non-null and, should the
assertion fail, produces an error that is more helpful than an NPE.

Closes gh-1512
2014-09-16 15:56:22 +01:00
Andy Wilkinson 284e7b2091 Merge branch '1.1.x' 2014-09-16 15:40:23 +01:00
Andy Wilkinson 468b6cb1f7 Add support for configuring RemoteIpValve’s internalProxies
Closes gh-1522
2014-09-16 15:40:18 +01:00
Andy Wilkinson 4b25b0e7a2 Allow Jackson features to be configured via the environment
Enhance JacksonAutoConfiguration to configure features on the
ObjectMapper it creates based on the following configuration
properties:

spring.jackson.deserialization.* = true|false
spring.jackson.generator.* = true|false
spring.jackson.mapper.* = true|false
spring.jackson.parser.* = true|false
spring.jackson.serialization.* = true|false

The final part of each property name maps onto an enum. The enums are:

deserialization: com.fasterxml.jackson.databind.DeserializationFeature
generator: com.fasterxml.jackson.core.JsonGenerator.Feature
mapper: com.fasterxml.jackson.databind.MapperFeature
parser: com.fasterxml.jackson.core.JsonParser.Feature
serialization: com.fasterxml.jackson.databind.SerializationFeature

Closes gh-1227
2014-09-16 09:59:59 +01:00
Phillip Webb 26ac68df05 Polish Redis sentinel support 2014-09-15 13:09:02 -07:00
Phillip Webb b129bc261a Polish 2014-09-15 13:08:56 -07:00
Phillip Webb 565e449d89 Merge branch '1.1.x'
Conflicts:
	spring-boot-docs/src/main/asciidoc/howto.adoc
2014-09-15 11:37:50 -07:00
Phillip Webb 5ba86a103d Polish 2014-09-15 11:35:16 -07:00
Andy Wilkinson c02804931f Merge branch '1.1.x' 2014-09-15 15:39:41 +01:00
Andy Wilkinson 6f9f335ea1 Add additional class conditions for JTA auto-configuration
Previously, JTA auto-configuration would fail with a variety of
ClassNotFoundExceptions and NoClassDefFoundErrors if it was used with
an “incomplete” classpath. This commit adds a number of classes to
@ConditionalOnClass annotations so that the auto-configuration backs
off gracefully in the absence of certain classes.

Specifically, the following now work as expected:

 - Deploying an app to a server with JTA available via JNDI when the
   app does not use transactions
 - Auto-configuration of Atomikos without JMS
 - Auto-configuration of Bitronix without JMS

Both XADataSourceAutoConfiguration and JndiDataSourceAutoConfiguration
have been updated to back off in the absence of spring-jdbc; a
dependency of DataSourceProperties which is used by both classes.

Error handling in AtomikosDependsOnBeanFactoryPostProcessor and
BitronixDependentBeanFactoryPostProcessor has been enhanced so that the
correct dependencies are established, even in the absence of JMS.

Fixes gh-1538
2014-09-15 15:03:11 +01:00
Dave Syer 6456f2a542 Add url,user,password to LiquibaseProperties
User can set those properties (optionally) to use a different
DataSource than the default.

Fixes gh-1558
2014-09-15 08:30:58 -05:00
Dave Syer 59ce634437 Use class name not value to support non-Hibernate JPA vendors
With this change I got a simple Eclipselink version of the data-jpa
sample working. I'll push that when I get time to research it a bit more
(I needed to set up a Java agent so either that might be a problem
for our integration tests if we can't work around it).

Fixes gh-1268. Cherry picked onto master after (apparently) a failed
merge of commit ac2ab39.
2014-09-15 10:51:14 +01:00
Dave Syer 049cd4b85b Merge branch '1.1.x' 2014-09-13 10:59:32 -05:00
Dave Syer 437fb75424 Add /error to ignored paths for security autoconfig
Protecting /error doesn't make a great deal of sense and if it is
protected you don't get the ErrorPageFilter for the attempt at loading
it, so Tomcat renders its own HTML error page (when deployed as WAR).

Fixes gh-1548
2014-09-13 10:55:39 -05:00
Dave Syer 389c4f3e0b Merge branch '1.1.x' 2014-09-13 06:44:03 -05:00
Dave Syer 9902f98a3d Ensure the AuthenticationManager is created when needed
There was too much state really in the old implementation of
AuthenticationManagerConfiguration, and it was leading occasionally
to null pointers when method A assumed that method B had already
been called and it hadn't. This change manages to concentrate all the
references to an AuthenticationManagerBuilder into a single method
call, removoing the need for storing it at all.

Fixes gh-1556
2014-09-13 06:42:46 -05:00
Dave Syer 0950072b5e Fix integration test (shared context by accident) 2014-09-12 16:03:22 -05:00
Christoph Strobl c8a4891441 Add support for Redis Sentinel configuration
Spring Data Redis 1.4.0 introduced Redis Sentinel support. When
specified, RedisConnectionFactory uses the Sentinel configuration to
determine the current master.

Sentinel configuration can be specified using two new properties:
spring.redis.sentinel.master and spring.redis.sentinel.nodes.

For example:

spring.redis.sentinel.master=mymaster # name of redis server
spring.redis.sentinel.nodes=127.0.0.1:26379,127.0.0.1:26380

Alternatively, a bean of type RedisSentinelConfiguration can be declared
and it will be used to configure the connection factory.

Note: At this time, Sentinel support is only available for Jedis

Closes gh-1337
2014-09-07 17:00:38 -05:00