Commit Graph

371 Commits (9c339740048ce75cb460ded13feb492f5411b779)

Author SHA1 Message Date
Dave Syer 772df9bea7 Add inputs to gradle bootRepackage task
See gh-1113
11 years ago
Phillip Webb a2efe17fc9 Polish 11 years ago
Phillip Webb 179e1558f6 Polish 11 years ago
Dave Syer f8e847a6fc Change ordering of DataSourceInitializer a bit
It needs to run as soon as the DataSource is available really otherwise
anything else that depends on the DataSource (like Security JDBC
initializers) might fail when it tries to use it.

One change from 1.1.1 is that if you have a schema.sql you had better
make sure your data.sql talks to the same tables. In 1.1.1 you could
sometimes get away with letting Hibernate initialize the tables for
your data.sql and *also* have a schema.sql. This was fragile and doomed
to fail eventually if the DataSourceInitializer somehow got
initialized earlier (e.g. through a @DependsOn), so in the spririt
of honesty being the best policy we explicitly disallow it now.

Fixes gh-1115
11 years ago
Dave Syer 7fc1f19389 Fix WS sample to use a random port 11 years ago
Dave Syer e39fafcc33 Add JDBC user details to web-secure sample
See gh-1115
11 years ago
Dave Syer 18d8c4a8d9 Add additional samples to README
Fixes gh-1068
11 years ago
Dave Syer 2f12dc823c Remove workaround for bug they fixed in Groovy 11 years ago
Phillip Webb 143e1918b7 Fixup versions following release 11 years ago
Spring Buildmaster 4ca26a21dc Next development version 11 years ago
Phillip Webb 9e93719922 Fixup version numbers following release 11 years ago
Spring Buildmaster 05ed7b3bcd Next development version 11 years ago
Phillip Webb 3007a777d0 Roll back to 1.1.0.BUILD-SNAPSHOT 11 years ago
Dave Syer 36130b27e1 Support for Jmx (and Integration) autoconfig in parent contexts
When there are parent contexts we already had a strategy for registering
the actuator endpoints, but not the regular JMX or Integration MBeans.
This chnage makes the autoconfigs for JMX aware of the parent context.

Also adds a sample with a parent context.

See gh-847
11 years ago
Phillip Webb 5adbf32c18 Fixup version numbers following release 11 years ago
Spring Buildmaster c650f2391e Next development version 11 years ago
Phillip Webb f0c0f00089 Polish 11 years ago
Andy Wilkinson b585afe537 Polishing 11 years ago
Maciej Walkowiak e40320a8ed Added integration test for Spring Web Services Sample project 11 years ago
Maciej Walkowiak 95a6ce9e48 Spring Web Services Starter
- upgraded Spring WS to 2.2.0.RELEASE
- replaced default MVC DispatcherServlet with MessageDispatcherServlet
- migrated XML based config with nww Spring WS Java config

Fixes: gh-412
11 years ago
Marten Deinum e2a449da97 Spring Web Services Starter and Sample Project
Fixes gh-412
11 years ago
Dave Syer bc85f388aa Add test for gh-1058 11 years ago
Javier Gayoso b7d94d1364 Optimized login form - delegated CSRF token creation to thymeleaf
Also added additional test to verify behaviour.

Fixes gh-1039
11 years ago
Phillip Webb 2df4ead4d6 Convert README.md -> README.adoc 11 years ago
Dave Syer 09200361de Align expectations of various JMX configurations
They all want to create an MBeanServer and when that happens
user sees no MBeans, or sometimes just one set (Spring Core,
Spring Integration or Spring Boot). To harmonise them we
create a @Bean of type MBeanServer and link to it in the
other autoconfigs

Fixes gh-1046
11 years ago
Dave Syer 0ccfba939e Switch to a matches-none filter for security.basic.enabled=false
There were some residual issues to do with the changes to the implementation
of security.basic.enabled=false. It was a good idea to have a filetr chain
triggered by the flag being off because it smooths the way for user-defined
filter chains to use the Boot AuthenticationManager (as a first step at least),
but it wasn't a goog idea to add any actual secuity features to that filter.
E.g. if it has HSTS then even an app like Sagan that has some secure endpoints
that it manages itself and the rest is unsecured has issues because it can't
accept connections over HTTP even on unsecure endpoints.

TODO: find a way for security.ssl_enabled=true to apply to only the user-
defined security filter (maybe not possible or worth the effort, since they
can inject a SecurityProperties if they need it?).

See gh-928
11 years ago
Phillip Webb d2fbef02e7 Fixup POM errors 11 years ago
Phillip Webb e5cda040b0 Restore test classes
Restore test classes accidentally deleted and ignored in c43fd04f3e.
11 years ago
Artur Konczak 99940337a9 Add support for Elasticsearch
Add auto-configuration and starters for Elasticsearch.

Fixes gh-408
11 years ago
Stephane Nicoll 5a69bb9267 Add HornetQ JMS support
Provide auto-configuration support for HornetQ JMS broker, along with
an additional starter POM.

The connection factory connects to a broker available on the local
machine by default. A configuration switch allows to enable an embedded
mode that starts HornetQ as part of the application.

In such a mode, the spring.hornetq.embedded.* properties provide
additional options to configure the embedded broker. In particular,
message persistence and data directory locations can be specified. It is
also possible to define the queue(s) and topic(s) to create on startup.

Fixes: gh-765
11 years ago
Dave Syer 1d7caf8e31 Man up and deal with CSRF in integration test
Fixes gh-979
11 years ago
Dave Syer 5e3cc95ccf Adjust security.basic.enabled=false behaviour
Actually the web-secure sample is misusing
security.basic.enabled=false (IMO) - it should be a flag
to say that you want to temporarily disable the basic security
fallback on application endpoins, not  way to disable all
security autoconfiguration.

Added test case to web-secure sample to ensure a user
can log in.

Fixes gh-979
11 years ago
Dave Syer dba9667e93 Add spring-boot-starter-groovy-templates
Fixes gh-974
11 years ago
Phillip Webb 4417d05f3a Fixup incorrect parent version
Inadvertently missed during a 1.0.x merge.
11 years ago
Phillip Webb 99af5dbe23 Merge branch '1.0.x'
Conflicts:
	spring-boot-dependencies/pom.xml
11 years ago
Phillip Webb 30b181573e Fix Jasper on Tomcat 8
Refactor Jasper initialization code to call JasperInitializer during
server start.

Fixes gh-962
See gh-919
11 years ago
Dave Syer f659a2e253 Use the ServerProperties to add prefixes to paths
when server.servletPath is set we need to add prefixes to
the security filter paths, and the /error path.

Conflicts:
	spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/ManagementSecurityAutoConfiguration.java
11 years ago
Dave Syer 68448a8c68 Use the ServerProperties to add prefixes to paths
when server.servletPath is set we need to add prefixes to
the security filter paths.

Fixes gh-945
11 years ago
Phillip Webb 1a475102de Polish 11 years ago
Andy Wilkinson e45ef06b56 Polish Spring Data Solr integration 11 years ago
Christoph Strobl 6ed69709d7 Add auto configuration support for Spring Data Solr
Registers required components in application context if not available to
set up environment for usage with Spring Data Solr. Will listen on
SolrServer and SolrRepositories for configuration.

By default an HttpSolrServer is registered unless a zkHost (zookeeper
host) is defined. In that case an instance of CloudSolrServer will be
created.

By default multicore support is enabled, creating instances of
SolrServer for each core defined via @SolrDocument.
11 years ago
Christian Dupuis 4648188782 Rework HealthEndpoint and HealthIndicator
With this commit the state of a component or subsystem becomes a first-class citizen in Boot's application health support. HealthIndicators now return a Health instance with status and some contextual details.

An aggregation strategy has been introduced to aggregate several Health instances into one final application Health instance. Out of the box OrderedHealthAggregator can be configured to allow different ordering or a custom HealthAggregator bean can be registered.
11 years ago
Andy Wilkinson 733e12e215 Merge branch '1.0.x' 11 years ago
Andy Wilkinson 426c5680d4 Use Boot’s base Logback configuration in the Integration sample
Fixes #922
11 years ago
Andy Wilkinson 58b768b204 Merge branch '1.0.x' 11 years ago
Andy Wilkinson 6dafa15eef Remove mouldy start.groovy from the actuator sample
Fixes #900
11 years ago
Dave Syer f123fd5a4a Remove reference to resolved issues in Groovy 11 years ago
Phillip Webb 8bcda1bcbe Polish 11 years ago
Andy Wilkinson b94e8f54f6 Fix name of Groovy Templates sample project 11 years ago
Dave Syer 523956e2fe Add sample project for Groovy templates 11 years ago
Dave Syer e118515d7a Use Flyway to bind flyway.*
Since Flyway has bean properties (with getters and setters)
it can be used to bin directly to the Environment (instead of
copying all the properties into FlywayProperties).

Fixes gh-806
11 years ago
Andy Wilkinson 2378fe0900 Add support for using Velocity templates 11 years ago
Dave Syer a5543f18b9 Add callback for modifying or inspecting LocalContainerEntityManagerFactoryBean
A callback is added in autoconfig, so that if users inject the EntityManagerFactoryBuilder
into their app and use it to create multiple EntityManagerFactories, they all get the
same deferred DDL behaviour. The deferred DDL can also be disabled by setting
spring.jpa.hibernate.deferDdl=true.

Fixes gh-894
11 years ago
Dave Syer 2cc5bdfa09 Hack to force Flyway to initialize early 11 years ago
Dave Syer 58379e7593 Add hibernate-validator to spring-boot-starter-web
Fixes gh-616
11 years ago
Phillip Webb 01fcf61140 Polish 11 years ago
Dave Syer 5249f54c5a Integrate @ConfigurationProperties @Beans with DataSource configuration
We now have a much simpler DataSourceAutoConfiguration that binds to whatever
DataSource concrete type it finds at runtime. To be able to quickly switch between
Hikari and the other types of DataSource there's a minute shim for translating
the common properties (username, password, url, driverClassName), but actually
only url is different. The shim and also DataSource initialization is supported
through DataSourceProperties, but the other native properties get bound directly
through the concrete runtime type of the DataSource.

The /configprops endpoint works (and is exposed in the actuator sample).

Fixes gh-840, fixes gh-477, see also gh-808.
11 years ago
Dave Syer 5dd77a725c Enable access log explicitly in sample 11 years ago
Phillip Webb 61232395d8 Fixup versions 11 years ago
Christian Dupuis c38f9bcdfa Add missing tests 11 years ago
Dave Syer 14d3b46809 Add constants to SecurityProperties and ManagementServerProperties
For the convenience of users who want to selectively override the
access rules in an application without taking complete control of the
security configuration we now have some constants:

* SecurityProperties.ACCESS_OVERRIDE_ORDER for overriding just the
application endpoint access rules

* ManagementServerProperties.ACCESS_OVERRIDE_ORDER for overriding the
application endpoint and management endpoint access rules

Fixes gh-803
11 years ago
Andy Wilkinson 62ac51eead Upgrade to the Spring Data Dijkstra release train
In addition to the upgrade to Dijkstra (#743) Spring HATEOAS has been
upgraded to 0.11.0 (#801) and Mongo's Java driver has been upgraded to
2.12.1 (#689). In both cases this is the same version as is used by
Dijkstra RC1.

The new version of Mongo's Java driver changes the exception that's
thrown when Mongo isn't running and a connection attempt fails. The
Mongo sample has been updated accordingly.

RepositoryRestMvcAutoConfiguration has been updated to be configured
before JpaRepositoriesAutoConfiguration. This ensures that the
former's transitive import of SpringDataJacksonConfiguration takes
precedence over the latter's import of the same. This is necessary as
RepositoryRestMvcConfiguration requires a bean that's declared by
SpringDataJacksonConfiguration and, if JpaRepositoriesAutoConfiguration
is processed first, its conditions may cause the import
SpringDataJacksonConfiguration to be skipped causing instantiation
of RepositoryRestMvcConfiguration to fail.

Closes #689
Closes #743
11 years ago
Dave Syer 9ba88cf6b4 Add JPA to flyway sample 11 years ago
Christian Dupuis 941c5560eb Remove duplicate hibernate-validator dependency from pom 11 years ago
Stephane Nicoll 789f506b5b Fix freemarker integration tests
Freemarker integration tests now use a random port so boot
builds properly when port 8080 is taken.
11 years ago
Phillip Webb 34b7bb20fd Add maven implicit plugin group ID
Add previously implicit <groupId>org.apache.maven.plugins</groupId>
to plugin declarations.
11 years ago
Dave Syer 41395d08e3 Upgrade flyway to 3.0
Fixes gh-771
11 years ago
Dave Syer 7e3614e6e0 Fix samples that need jdbc and don't import it 11 years ago
Dave Syer ded6a707db Drop starters for flyway and liquibase
They only add a single extra dependency, so not really
much value.

Fixes gh-770
11 years ago
Dave Syer 5548b24c4c Add autoconfig support for Flyway migrations
Flyway starts up with its default settings if it is on the classpath.
You can also ask Boot to barf if the migration scripts are missing.

Fixes gh-730
11 years ago
Marcel Overdijk 68e33b25c1 Added liquibase autoconfiguration for database migrations
If Liquibase is on the classpath it will fire up on startup. Various
config options are available (as well as the option to disable it).
Liquibase uses a YAML format for changes (in classpath:db/changelog).
11 years ago
Dave Syer 240788862e Make RunMojo fork a new process
By forking a new process we get to attach the agent
much earlier and JPA can co-exist.

Fixes gh-648
11 years ago
Phillip Webb 6025f45aa0 Polish 11 years ago
Phillip Webb decee8d871 Polish templates code 11 years ago
Phillip Webb 1d5cddc1e9 Polish gemfire sample 11 years ago
Dave Syer 2c087d4787 Update Boot version in gradle samples 11 years ago
Fermin Gallego a09722272e Minor improvement in simple sample test 11 years ago
Dave Syer 030f00c36d Convert actuator-ui sample to FreeMarker
See gh-679
11 years ago
Stephane Nicoll a27be338c6 Replace column name using reserved keyword
This commit replaces the "index" property of Review to use a custom
column name ("idx") as index is a reserved keyword in some RDMS such
as Oracle and MySQL.

Fixes gh-752
11 years ago
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
11 years ago
Dave Syer 27580e726f Add generic error handling to BasicErrorController
Since Spring supports gobal error handling through
@ControllerAdvice, it is quite easy to set up more meta-data
about an exception for the BasicErrorController. You need
to be careful not to swallow Security exceptions, and probably
others (optionally) so this feature needs a bit more work.

See gh-538
11 years ago
Dave Syer 4fb6e7ec42 Fix versions and repository declarations
Fixes gh-606
11 years ago
John Blum 34cbe1e60b Created a Spring Data GemFire Starter POM
... as well as a Spring Boot Sample Application with associated tests
for demonstrating how to get started using both Spring Data GemFire
and GemFire.
11 years ago
Phillip Webb fba08e7811 Polish 11 years ago
Rob Winch ae7098ae1d Add RepositoryRestMvcAutoConfiguration
Fixes gh-626
11 years ago
Phillip Webb 64a835e91a Move master to 1.1.0.BUILD-SNAPSHOT 11 years ago
Spring Buildmaster d3954a1703 Next development version 11 years ago
Phillip Webb 4119ef5cf4 Use random ports for tests
Update remaining tests to use random ports.

Fixes gh-337
11 years ago
Phillip Webb fad5ce45db Polish 11 years ago
Dave Syer 0aa93036fa Fix secure method configuration global authentication
This fixes a bug in the sample, where the AuthenticationManager it builds
is a local one for the filter chain containing "/login", whereas it was
expecting to override the Boot default, which is "global". The fix is
to extract the authentication configuration out into a
GlobalAuthenticationConfigurerAdapter.

Fixes gh-699
11 years ago
Dave Syer e4b8e174e8 Add test case for gh-699 11 years ago
Dave Syer 7b07fe8ce0 Convert remaining samples to use random port
Partial fix for gh-337. See also gh-607 which complements this, but might
conflict on a merge.
11 years ago
Dave Syer f134e96053 Convert Actuator sample to dynamic ports 11 years ago
Dave Syer 559009b8cf Support for random ports in @IntegrationTest
User can now set up default properties in the Environment using
@IntegrationTest("foo:bar", "x:y") etc. Using "server.port:0" you
can get Tomcat or Jetty to spin up on a random port. We also add
a test listener that populates "local.server.port" with the actual
port the server started on so you can @Value("${local.server.port}")
inject it into the test case.

See gh-607 (this should make the extension of that PR to samples
much easier)
11 years ago
Dave Syer d613cc795e SpringSource->spring-projects 11 years ago
Dave Syer b8b883de31 Fix springloaded co-ordinates
Apparently springloaded 1.1.5 was released to Maven Central with a
different groupId than to repo.spring.io. It would have worked in
milestones because the repository was declared.

See gh-648
11 years ago
Spring Buildmaster a5864ebcd0 Next development version 11 years ago
Dave Syer 72d7c286c0 Add Spring MVC-generated path suffixes to endpoint paths
Spring Security doesn't know that Spring MVC maps /foo, /foo.json
and /foo/ all to the same handler. This change explicitly adds
suffixes to the actuator endpoint matchers so they are properly
protected.
11 years ago
Spring Buildmaster 15e9dbe98b Next development version 11 years ago
Phillip Webb 1e68b7e0a9 Remove superfluous <packaging> tags from POMs 11 years ago