Commit Graph

3711 Commits

Author SHA1 Message Date
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 96dceb39a4 Tweak PoolingDataSourceBean.getParentLogger()
Update PoolingDataSourceBean.getParentLogger() to directly call the
method rather than use reflection. Also removed the logic from
`DirectXADataSource` since any fix there should really be applied in
the DataSource being wrapped (and not the wrapper).

See gh-1518
2014-09-15 11:58:53 -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 5a160fbe5a Reinstate repository configuration in spring-boot-samples pom
The repository configuration is there in 1.1.x but missing in master.
This commit brings the two branches back into line.

Closes gh-1473
2014-09-15 17:48:01 +01:00
Andy Wilkinson 8deb88b3c0 Merge branch '1.1.x' 2014-09-15 16:40:42 +01:00
Andy Wilkinson 2ba2cfe23d Document build-time property expansion using Gradle
Closes gh-1540
2014-09-15 16:25:00 +01:00
Andy Wilkinson 9b719ac58e Merge branch '1.1.x' 2014-09-15 15:45:18 +01:00
Andy Wilkinson 3c815f4014 Provide group in ResolvedArtifactLibrary to enable discrimination
The fix for gh-1475 introduced the use of an artifact's group to
discriminate between two libraries with the same name (artifact id)
and version. However, in the case of Gradle, a group name was not
provided for libraries that have been resolved from a repository.

This commit updates ResolvedArtifactLibrary to use the group obtained
from the underlying ResolvedArtifact as its discriminator.

Fixes gh-1543
2014-09-15 15:40:29 +01: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 bfab6b45f5 Merge branch '1.1.x' 2014-09-13 11:01:10 -05:00
Dave Syer 7828f2a5d3 Update docs on metrics names 2014-09-13 11:00:55 -05:00
Dave Syer 049cd4b85b Merge branch '1.1.x' 2014-09-13 10:59:32 -05:00
Dave Syer deef784403 Blitz some more special characters from the metric names
When MVC path matchers are used as metric keys, they can still contain
invalid characters and patterns (like asterisks). This change removes
some more special characters and also tidies up the names a bit so
no key part starts or ends with "-" (which is ugly).

Fixes gh-1528
2014-09-13 10:59:20 -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 f26209f248 Blitz some more special characters from the metric names
When MVC path matchers are used as metric keys, they can still contain
invalid characters and patterns (like asterisks). This change removes
some more special characters and also tidies up the names a bit so
no key part starts or ends with "-" (which is ugly).

Fixes gh-1528
2014-09-13 07:08:06 -05:00
Dave Syer 389c4f3e0b Merge branch '1.1.x' 2014-09-13 06:44:03 -05:00
Dave Syer bf0c8fc8bb Remove JDBC from secure-web sample
Fixes gh-1534
2014-09-13 06:42:59 -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
Vladimir Tsanev 258c6f116a Add store type and store provider properties to SSL configuration
Closes gh-1545
2014-09-12 14:50:06 -05:00
Stephane Nicoll 037e3a4221 Fix typo in documentation
Fixes gh-1527
2014-09-12 12:22:23 -05:00
Andy Wilkinson b146e76b63 Merge branch '1.1.x' 2014-09-07 18:27:23 -05:00
Andy Wilkinson 06ffd9dd86 Fix configuration of Spring Loaded on Gradle 1.6
The applicationDefaultJvmArgs property was added in Gradle 1.7. This
commit updates RunPluginFeatures to access the property defensively
so that the plugin can be used with Gradle 1.6.

Fixes gh-1511
2014-09-07 18:23:16 -05:00
Andy Wilkinson 9c33974004 Merge branch '1.1.x' 2014-09-07 17:33:38 -05:00
Andy Wilkinson 750c116078 Upgrade to Spring Integration 4.0.4 and Spring AMQP 1.3.6
Closes gh-1503
Closes gh-1505
2014-09-07 17:32:09 -05:00
Josh Long 14948c83f5 Add smarter getParentLogger that works on Java 6 and Java 7+
Fixes gh-1518
Closes gh-1519
2014-09-07 17:25:30 -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
Andy Wilkinson fbeb8c966c Upgrade to Spring Data Evans
The missing bean condition on the auto-configuration classes for
Elasticsearch, Jpa, Mongo and Solr repositories have been tightened to
look for ElasticsearchRepositoryFactoryBean, JapRepositoryFactoryBean,
MonoRepositoryFactoryBean, and SolrRepositoryFactoryBean respectively.

In Spring Data Evans, when there are multiple repository types on the
classpath, a strict mode is entered to prevent the different
repositories from trampling over each other. A side-effect of this is
that for the Mongo domain types in the tests to be discovered they
must be explicitly annotated with @Document.

Closes gh-1338
2014-09-07 16:04:04 -05:00
Andy Wilkinson dde7ebf30f Merge branch '1.1.x' 2014-09-07 15:45:53 -05:00
John Tims a4e08beebc Add missing variable to the example in the Loading YAML section
Closes gh-1524
2014-09-07 15:43:22 -05:00
Andy Wilkinson 3a1e631ac8 Merge branch '1.1.x' 2014-09-07 11:04:16 -05:00
Christoph Frick 3b07e4e633 Fix typos in the documentation: though -> through
Closes gh-1510
2014-09-07 11:03:49 -05:00
Christoph Frick 5455b42d32 Fix typos in the documentation: though -> through
Closes gh-1510
2014-09-07 11:00:09 -05:00
David Liu 8e9e502b6a Add support for auto-configuration of Commons DBCP2
Closes gh-1292
Closes gh-1477
2014-09-07 10:43:48 -05:00
Stephane Nicoll 8ed461947f Improve RabbitMQ support in CLI
This commit deprecates the proprietary EnableRabbitMessaging annotation
in favour of the standard @EnableRabbit introduced as of Spring Rabbit
1.4.

Fixes gh-1494
2014-09-05 17:52:20 +02:00
Stephane Nicoll 02a8a9c07b Add auto configuration for Spring AMQP 1.4 features
This commit adds two additional auto-configuration items that are new
in Spring AMQP 1.4:

* A RabbitMessagingTemplate is automatically created if none is present
* A default RabbitListenerContainerFactory is automatically created if
none is present.

Besides @EnableRabbit is enabled automatically if the necessary classes
are present and a ConnectionFactory is available.

Fixes gh-1495
2014-09-05 17:52:07 +02:00
Andy Wilkinson 85ebc29639 Upgrade to latest Spring Integration and AMQP milestones
Closes gh-1493
Closes gh-1517
2014-09-05 16:44:27 +01:00
Dave Syer b8f820d711 Merge branch '1.1.x' 2014-09-05 16:38:22 +01:00