Commit Graph

417 Commits

Author SHA1 Message Date
Dave Syer 0540cecbd4 Fix test in FreeMarker support 2014-05-01 13:40:22 +01:00
Dave Syer cb1b3481be Add support for FreeMarker in non-webapp
The existing freemarker support only works in a webapp. This
change adds a FreeMarker Configuration bean (in both web- and
non webapps) so it can be used to load a Template and render it
(e.g. with Spring's FreeMarkerTemplateUtils).

See gh-679
2014-05-01 11:46:27 +01:00
Artem Bilan ce3aafa7a9 Upgrade to Spring Integration 4.0
Closes #751
2014-05-01 10:07:17 +01:00
Phillip Webb 6025f45aa0 Polish 2014-04-30 21:53:24 +01:00
Phillip Webb fb13bf9016 Move TemplateAvailabilityProvider
Move TemplateAvailabilityProvider from the spring-boot project to
spring-boot-autoconfigure
2014-04-30 21:38:17 +01:00
Phillip Webb decee8d871 Polish templates code 2014-04-30 21:36:09 +01:00
Dave Syer 537b0c3ff3 Use enum for MessageCodesResolver format
Fixes gh-670
2014-04-30 16:00:01 +01:00
Marcel Overdijk 1cbef02236 Add messagecode resolver format based on application property 2014-04-30 16:00:01 +01:00
Stephane Nicoll e26e06d5dd Fix build
Two modules are still relying on the spring-boot test-jar but it was
not generated anymore. Adding the generation of test-jar again as
a workaround until we completely removes the use of it.
2014-04-30 16:39:54 +02:00
Dave Syer 030f00c36d Convert actuator-ui sample to FreeMarker
See gh-679
2014-04-30 13:04:19 +01:00
Dave Syer 50190a4de7 Add support for HikariDataSource
We still prefer Tomcat if it is available (that can change
if the community asks loudly enough). Hikari is supported
via the same spring.datasource.* properties as Tomcat (and
DBCP), with some modifications:

* The validation and timeout settings are not as fine-grained
in Hikari, so many of them will simply be ignored. The most
common options (url, username, password, driverClassName) all
work as expected.

* The Hikari team recommends using a vendor-specific DataSource
via spring.datasource.dataSourceClassName and supplying it with
Properties (spring.datasource.hikari.*).

Hikari prefers the JDBC4 isValid() API (encapsulates vendor-
specific queries) which is probably a good thing, but we
haven't provided any explicit support or testing for that yet.

Fixes gh-418
2014-04-30 11:52:47 +01:00
Dave Syer f46d281b22 Upgrade to Reactor 1.1
Fixes gh-706
2014-04-30 11:27:29 +01:00
Andy Wilkinson 7c91176186 Add FreeMarker support
This commit adds auto-configuration and a starter,
spring-boot-starter-freemarker, for using FreeMarker view templates in
a web application.

A new abstraction, TemplateAvailabilityProvider, has been introduced.
This decouples ErrorMvcAutoConfiguration from the various view
technologies that Spring Boot now supports, allowing it to determine
when a custom error template is provided without knowing the details of
each view technology.

Closes #679
2014-04-29 19:46:09 +01:00
Dave Syer ef4e83a879 Move ErrorController to autoconfig 2014-04-29 15:23:29 +01:00
Andy Wilkinson b6cd2c970c Use Jedis rather than Lettuce as preferred Redis client
Salvatore has indicated that Jedis is his Java Redis client of choice.
This commit updates the auto-configuration support, actuator and
Redis starter accordingly.

Completes #745
2014-04-28 14:06:40 +01:00
Dave Syer b20262c1a7 Backout couchbase changes 2014-04-28 12:21:58 +01:00
Dave Syer e433eb20a6 Align couchbase more with other data-* support 2014-04-28 11:01:24 +01:00
sopov.ivan 174b654faf minor test fixes
Reverting arguments in assertEquals where constant was placed on
the "actual" place. Replacing assertEquals with assertFalse, assertTrue
and assertNull where applicable.

Fixes gh-735
2014-04-26 14:14:05 +01:00
Dave Syer 477b199cd6 Add ApplicationEventPublisher explicitly to security publisher
For some reason the exception mappings are only created with the
publisher is initialized in the constructor of DefaultAuthenticationEventPublisher.
Changed SpringBootWebSecurityConfiguration to do that rather then
relying on the ApplicationEventPublisherAware behaviour to inject it.

Fixes gh-719
2014-04-26 12:15:30 +01:00
Dave Syer 6ac85c1759 Add username/password and MongoClientOptions to Mongo config
The username/password option stil lonly works for a single host (to
connect to a cluster I suspect you need to set the URI). Also added
a MongoClientOptions (if a bean of that type exists it will be
used to populate the options that aren't in the URI).

Fixed gh-536
2014-04-26 12:09:23 +01:00
Phillip Webb 5dabd7fb41 Rename MongoTemplateAutoConfiguration
Rename MongoTemplateAutoConfiguration to MongoDataAutoConfiguration
since it now configures more than just the template.
2014-04-25 15:57:44 +01:00
Phillip Webb a7f5cbf7d0 Polish mongo changes
Restore formatting and fixup doc comments.
2014-04-25 15:57:44 +01:00
Phillip Webb 2adf30950e Polish couchbase support
Polish couchbase support to:
- Extract properties into its own class
- Remove unnecessary inner configuration class
- Add since tags
- Format code and add `this.` references
2014-04-25 15:57:44 +01:00
Phillip Webb fba08e7811 Polish 2014-04-25 15:57:43 +01:00
Phillip Webb 1ae91a135c Polish MultipartConfigElement support
Polish MultipartConfigElement changes introduced in commit e8e59ea6
as follows:

- Fix javadoc formatting
- Fix tab/spaces formatting
- Fix asciidoc formatting
- Move creation of MultipartConfigElement into MultipartProperties
- Add @Since tags
- Restore random port in tests
2014-04-25 15:57:43 +01:00
sopov.ivan 10d82e28ff minor - correcting modifiers order 2014-04-25 18:20:09 +04:00
Dave Syer 94dd510b52 Merge GridFs with MongoTemplate configuration 2014-04-25 13:41:09 +01:00
Josh Long f36f2024e2 Update GridFsTemplateAutoConfiguration.java
improved documentation.
2014-04-25 12:45:54 +01:00
Josh Long 330c95d6ab Update GridFsTemplateAutoConfigurationTests.java
improved documentation
2014-04-25 12:45:54 +01:00
Josh Long 0d53b9d9fa adding initial GridFS integration. 2014-04-25 12:45:53 +01:00
Michael Nitschinger 78ce06ccc7 Add support for spring-data-couchbase
Fixes gh-124
2014-04-25 12:05:15 +01:00
Stephane Nicoll c4ffe721c7 Fix JmsTemplate default pubSubDomain setting
Prior to this commit, a JmsTemplate bean created automatically by Boot
had its "pubSubDomain" flag enabled. It's far more usual to fallback on
queue rather than topic.

This commit flips the default value of the configuration property.
2014-04-25 11:16:27 +01:00
Rob Winch ae7098ae1d Add RepositoryRestMvcAutoConfiguration
Fixes gh-626
2014-04-25 11:13:31 +01:00
Dave Syer 63f2d6ab15 Remove compiler warnings related to Batch upgrade 2014-04-25 10:59:52 +01:00
Dave Syer 3173646635 Fix another test from gh-708 2014-04-25 10:57:12 +01:00
Dave Syer d597cc3387 Fix test broken in gh-708 2014-04-25 10:16:19 +01:00
Roy Clarkson 6ad7257baf Add auto-configuration for @EnableHypermediaSupport
If Spring HATEOAS is on the class path, then @EnableHypermediaSupport
will be auto-configured with HAL support.
2014-04-25 09:52:27 +01:00
Josh Long e8e59ea657 MultipartConfigElement autoconfig support.
Fixes gh-708
2014-04-25 09:33:43 +01:00
Phillip Webb 64a835e91a Move master to 1.1.0.BUILD-SNAPSHOT 2014-04-24 12:45:20 +01:00
Spring Buildmaster d3954a1703 Next development version 2014-04-24 02:24:28 -07:00
Phillip Webb 4119ef5cf4 Use random ports for tests
Update remaining tests to use random ports.

Fixes gh-337
2014-04-23 19:11:54 +01:00
Phillip Webb fad5ce45db Polish 2014-04-23 12:35:33 +01:00
Dave Syer 3304dd1cc9 Add spring.datasource.separator (default ";")
Fixes gh-715
2014-04-22 17:34:54 +01:00
Dave Syer f7c16764e6 Add setter for security.user.role
Fixes gh-700
2014-04-21 14:42:34 +01:00
Marcel Overdijk f78f836fc0 Add fixedlocaleresolver based on application property
If the user sets spring.mvc.locale and doesn't provide a @Bean
of type LocaleResolver then a FixedLocaleResolver will be provided.

Fixes gh-697, fixes gh-669
2014-04-19 19:38:51 -07:00
Dave Syer 0b89402240 Add spring.thymeleaf.contentType (defaults to HTML)
User can specify the content type in external properties now, optionally
ommitting the charset (since that is duplicated). If charset is not
appended by user Spring will do it.

Fixes gh-671
2014-04-15 07:10:08 -07:00
Spring Buildmaster a5864ebcd0 Next development version 2014-04-06 22:43:18 -07:00
Phillip Webb 2bb0f744e0 Polish 2014-04-06 21:49:12 -07:00
Jean Detoeuf 5077b6cc65 Added ActiveMqCredentials (optional)
Fixes gh-618
2014-04-03 14:48:17 +01:00
Dave Syer 5ed49462c4 Add spring.messages.cacheSeconds to global config
Fixes gh-625
2014-04-03 14:07:55 +01:00
Dave Syer 97adb5c1b3 Ensure ddl-auto=none for non-embedded database
A more thorough check is needed to avoid the false assumption
that the DataSource is embedded just because an embedded database
is on the classpath. You really have to try and look in the connection
metadata, so that's what we now do.

Fixes gh-621, fixes gh-373
2014-04-02 17:21:14 +01:00
Spring Buildmaster 15e9dbe98b Next development version 2014-04-01 03:05:51 -07:00
Phillip Webb 1e68b7e0a9 Remove superfluous <packaging> tags from POMs 2014-04-01 02:07:43 -07:00
Phillip Webb 0af7f7e347 Add missing POM info 2014-04-01 02:07:42 -07:00
Phillip Webb 488b03387f Polish POM formatting 2014-04-01 02:07:36 -07:00
Phillip Webb 6f9bb233ad Revert "Next development version"
This reverts commit b67bb70ee3.
2014-04-01 00:38:48 -07:00
Spring Buildmaster b67bb70ee3 Next development version 2014-03-31 22:38:42 -07:00
Phillip Webb ac4cdd33c3 Revert "Next development version"
This reverts commit 1d0eea12eb.
Returning to 1.0.0.BUILD-SNAPSHOT for an updated release.
2014-03-31 17:14:30 -07:00
Spring Buildmaster 1d0eea12eb Next development version 2014-03-28 11:47:09 -07:00
Phillip Webb beaddb2362 Polish 2014-03-26 13:29:26 -07:00
Dave Syer 006d7b6931 Move MongoTemplateAutoConfiguration to mongo package 2014-03-26 09:00:12 +00:00
Phillip Webb 44d708ef7a Polish 2014-03-25 14:33:27 -07:00
Phillip Webb c11d94105a Log AutoConfigurationPackages warnings just once
Update AutoConfigurationPackages to log warnings on the first access,
rather than during setup. This works around the fact that the CLI
currently add multiple @EnableAutoConfiguration annotations.

Fixes gh-579
2014-03-25 14:33:27 -07:00
Dave Syer e059d0cd5f Re-order security auto configuration so the fallback can be applied
The management security autoconfiguration wanted to come last in the chain
but that won't suit the fallback that was already in place for gh-568. This
change re-orders the autoconfig so that @EnableWebSecurity is still added
if the user sets security.basic.enabled=false and includes the actuator
endpoints.

Fixes gh-568
2014-03-25 17:03:10 +00:00
Dave Syer 59124d07c4 Switch on @EnableTransactionManagement by default
Fixes gh-576
2014-03-25 16:32:06 +00:00
Dave Syer 809a5a711f Add a @EnableWebSecurity if it looks like the user needs one
If the user explicitly disables the basic security features and forgets to
@EnableWebSecurity, and yet still wants a bean of type
WebSecurityConfigurerAdapter, he is trying to use a custom
security setup and the app would fail in a confusing way without
this change.

Fixes gh-568
2014-03-25 12:19:56 +00:00
Dave Syer a821092bbd Log a warning if repository autscan is set to default package
Fixes gh-572
2014-03-25 10:25:17 +00:00
Stephane Nicoll 87321edf36 Support Tomcat uri encoding (with UTF-8 default)
Introduce an extra `server.tomcat.uri-encoding` property used to
configure the URI encoding for the embedded tomcat container.

Defaults to `UTF-8` instead of the usual tomcat default of `ISO-8859-1`.

Fixes gh-540
2014-03-24 23:50:13 -07:00
Phillip Webb d42bedf295 Rename @ConfigurationProperties attributes
Rename `name` to `prefix` and `path` to `locations`.
2014-03-24 11:44:52 -07:00
Dave Syer 770c115d88 Allow Batch configuration without DataSource
If the user provides a JobExplorer and a BatchConfigurer that
don't require a DataSource we can back off on configuring ours
(and anything else that needs a DataSource).

Fixes gh-561
2014-03-24 15:23:43 +00:00
Dave Syer 86054a9c53 Use reflection to setup Websocket SCI so it works in Tomcat 8
Annoyingly this is necessary if we want to support Tomcat 7 and 8
since the package name changed.

Fixes gh-554
2014-03-24 09:04:21 +00:00
Dave Syer 3496f3f9dc Add marker interface for non-embedded servlet container
ErrorPageFilter is itself an EmbeddedServletContainerFactory
but it runs in a non-embedded container. Any component that assumes
the presence of an EmbeddedServletContainerFactory implies we are
running embedded is therefore invalid. WebSocketAutoConfiguration
had that problem.

Fixes gh-551
2014-03-23 21:45:54 +00:00
Dave Syer 373e2c5156 Allow user to opt out of ContentNegotiatingViewResolver
The bean ID for the ContentNegotiatingViewResolver is now
"viewResolver" (it is the *one*). The conditions have been changed
so that a user only has to define a bean of the same name to switch
it off.

Fixes gh-546
2014-03-22 14:44:30 +00:00
Dave Syer 4637c2a8f7 Accept viewNames and excludedViewNames for ThymeleafViewResolver
(via spring.thymeleaf.*).

Fixes gh-548
2014-03-22 14:25:51 +00:00
Dave Syer e472e7ccca Use forward:/index.html for home page
Fixes gh-549
2014-03-22 14:20:53 +00:00
Phillip Webb 03667c7ddc Rename a few `setup` methods to `configure`
Fixes gh-537
2014-03-21 11:25:31 -07:00
Phillip Webb 3193913899 Polish 2014-03-20 09:08:09 -07:00
Chris Savory 7be2d97d49 Allow multiple MessageSources that are comma separated.
Fixes gh-532, Fixes gh-506
2014-03-20 08:12:11 +00:00
Phillip Webb 798229f530 Document rabbit.addresses property 2014-03-18 11:15:15 -07:00
Dave Syer 01137b6fd6 Add "addresses" to RabbitProperties
If user sets addresses it supercedes anything that was set in host
or port (same as in the native ConnectionFactory).

Fixes gh-524
2014-03-18 17:57:55 +00:00
Piotr Maj 2e74251d1b Add support for sorting json keys
Add `jsonSortKeys` property to HttpMapperProperties.

Fixes gh-498
2014-03-18 10:38:00 -07:00
Phillip Webb c5ee3c7eba Remove duplicate documentation
Remove README files that have been since been migrated to the reference
documentation. Also updated remaining markdown files to asciidoctor to
save having a mix of different formats.

Fixed gh-503
2014-03-16 23:00:12 -07:00
Phillip Webb fcea565433 Polish javadoc formatting 2014-03-15 13:02:02 -07:00
Phillip Webb 80ac1fb0cd Polish 2014-03-15 13:02:01 -07:00
Phillip Webb 12d2331f4d Fix failing JMS test
Fix test failure caused by URL -> Url rename in
commit 22e397cda2
2014-03-13 13:59:54 -07:00
Phillip Webb 22e397cda2 Polish 2014-03-13 13:11:54 -07:00
Dave Syer 3d43771136 Register an AuthenticationManager in security autoconfig
This is quite a big step, but I think it helps a lot. Since Spring
Boot always creates an AuthenticationManager if it doesn't find one
already registered, it makes sense to also make it into a @Bean.
Spring Security does not register its AuthenticationManager by
default though, so we have to do that for it if the user has created
one with an @Autowired AuthenticationManagerBuilder, but not registered
it as a @Bean.

Having the @Bean (marked @Primary to prevent issues with @Autowired)
makes it easier to reason about what Spring Boot has done for you, and
easier to default in simple use cases to the boot-created
AuthenticationManager. For example, if I want an OAuth2 Authorization
Server with password grant, it makes total sense for the
AuthenticationManager for users to be the same as the @Primary one.
Now it is easy to set that up (just @Autowire it).
2014-03-13 12:02:34 +00:00
Dave Syer 85a56a79e4 Tidy up implementation of DispatcherServletAutoConfiguration
also adds another test.
2014-03-13 11:08:27 +00:00
Dave Syer 659d7b6df1 Extend DefaultDispatcherServletCondition to check for a registration
...bean with no explicit @Bean DispatcherServlet. We still have to check
by bean name (slightly unfortunate, but we need to avoid instantiating
too early) so there's now another magic
bean name for the registration bean ("dispatcherServletRegistration")
that the user has to replace if he wants the registration without
defining a servlet @Bean

Fixes gh-482
2014-03-13 09:33:29 +00:00
Dave Syer 14d52b6c18 Avoid creating a new EmbeddedServletContainerFactory for websockets
User can now also switch off and customize the websockets customizer by adding
a bean named "websocketContainerCustomizer".

Fixes gh-479
2014-03-12 09:21:07 +00:00
Piotr Maj 1b167f630c Support for maxWait, jdbcInterceptors and validationInterval
Fixes gh-470
2014-03-10 17:08:04 +00:00
Piotr Maj cb6739b4a5 Added testWhileIdle etc.
Fixes gh-463
2014-03-09 21:22:14 +00:00
Andy Piper 7b4fa22b40 Fix typo 2014-03-08 15:53:21 +00:00
Dave Syer c68902260e Change explicit bean type to concrete NamedParameterJdbcTemplate
Fixes gh-447
2014-03-07 11:06:58 +00:00
Josh Long 9453a6324a polishing documentation 2014-03-07 11:04:41 +00:00
Dave Syer a0ba8c90a6 Add MultipartConfig to DispatcherServlet by default
RC4 added a ServletRegistrationBaen for teh DispatcherServlet and we
didn't register a MultipartConfigElement if one was present.

Fixes gh-427
2014-03-05 09:30:18 +00:00
Dave Syer ffe91ca6bf Change exception message for missing Thymeleaf templates
Fixes gh-424
2014-03-05 09:07:15 +00:00
Dave Syer 6b83e0ad5d Change bean name of ContentNegotiatingViewResolver
Fixed gh-428
2014-03-05 08:56:53 +00:00
Dave Syer b56bd0a10c Add ViewResolver docs 2014-03-04 22:17:50 +00:00
Dave Syer 3bc37ddde0 Strip out most of websocket autoconfig
... leaving only the embedded Tomcat enabling feature (registering
the WsSci).

Fixes part of gh-65
2014-03-04 16:25:10 +00:00