Commit Graph

41 Commits

Author SHA1 Message Date
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
2014-05-30 23:26:07 +01:00
Phillip Webb 11a093bdc0 Polish 2014-05-30 00:31:11 +01:00
Craig Walls f006b1231c Add Spring Social autoconfiguration 2014-05-28 13:30:41 +01:00
Roy Clarkson 9f52a0dbd7 Add Spring Mobile SitePreferenceAutoConfiguration
New feature in Spring Mobile (user preferences per site).

Fixes gh-946
2014-05-26 07:00:03 +01:00
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.
2014-05-22 17:29:12 +01:00
Andy Wilkinson 2378fe0900 Add support for using Velocity templates 2014-05-19 12:01:20 +01:00
Dave Syer f572992c5d Relax requirement for groovy template directory to exist
Since groovy-templates is included with groovy-all it is unreasonable
to expect anyone who has it on their classpath to have resolvable templates.
We may need to revisit this decision, but since the origain feature
that drove this was thymeleaf and idaiotic users having it on their
classpath but not using it, maybe we don't need to.
2014-05-15 22:12:27 +01:00
Dave Syer 15303a2de6 Add GroovyTemplates to autconfig 2014-05-15 18:42:44 +01:00
Stephane Nicoll e695e5d637 Revisit JMS support
Since ActiveMQ 5.8.0, the modules structure has been revisited and
activemq-core no longer exists. The activemq-broker is required to
create an embedded broker. Since Boot creates such broker by default
if ConnectionFactory is present, a condition has been added to do so
only when the necessary classes are present in the classpath.

The default embedded broker is now configured to disable message
persistence altogether as this requires an extra jar since 5.8.0, i.e.
activemq-kahadb-store.

Split the ActiveMQ auto configuration from the JmsTemplate auto
configuration so these are totally independent.
ActiveMQAutoConfiguration has been created to detect and configure
the ActiveMQ broker if necessary.

The brokerUrl parameter was ignored as long as the inMemory parameter
was true. The actual brokerUrl to use is now determined by the user
defined values of those parameters: if the brokerUrl is set, it is always
used. If no brokerUrl is set, the value of inMemory determines if an
embedded broker should be used (true) or a tcp connection to an
existing local broker (false).

JmsTemplateAutoConfiguration now creates a JmsTemplate only if a
ConnectionFactory is available.

Fixes gh-872, gh-882, gh-883
2014-05-15 16:18:41 +02:00
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
2014-05-02 11:15:33 +01:00
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).
2014-05-02 11:12:12 +01:00
Artem Bilan ce3aafa7a9 Upgrade to Spring Integration 4.0
Closes #751
2014-05-01 10:07:17 +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
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
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
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
Michael Nitschinger 78ce06ccc7 Add support for spring-data-couchbase
Fixes gh-124
2014-04-25 12:05:15 +01:00
Rob Winch ae7098ae1d Add RepositoryRestMvcAutoConfiguration
Fixes gh-626
2014-04-25 11:13:31 +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
Dave Syer 006d7b6931 Move MongoTemplateAutoConfiguration to mongo package 2014-03-26 09:00:12 +00: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
Phillip Webb 5188ee5266 Extract Mongo auto-configuration from Spring Data
Extract Mongo auto-configuration classes from Spring Data specific
auto-configuration, allowing Mongo to be used without Spring Data
if require.
2014-02-05 17:52:25 -08:00
Phillip Webb f7d4490b2d Fix package tangle with AutoConfigurationReport
Rename AutoConfigurationReport to ConditionEvaluationReport and
co-locate with conditions.
2014-02-03 17:25:50 -08:00
Dave Syer b72002142d Split MessageConverters auto config out into separate class 2013-12-16 16:13:39 +00:00
Christian Dupuis b931cce386 Auto configuration support for JMX export 2013-12-11 21:31:10 +01:00
Dave Syer bd26b28aa5 Extract actuator security into separate classes
So spring-security + a web app is secure by default
(you don't need the actuator).
2013-11-21 16:47:29 +00:00
Dave Syer 640b9d2680 Add RedisAutoConfiguration 2013-11-18 10:54:33 +00:00
Phillip Webb dafeddca09 Rework auto-configure report
Update the auto-configuration report to improve log formatting and to
separate the internal report data-structure from the JSON friendly
endpoint data-structure.
2013-11-06 21:40:05 -08:00
Dave Syer 0c79c8913f Ensure AutoConfigurationReport is always present 2013-11-04 17:07:04 +00:00
Dave Syer 86a369b955 Add renamed Rabbit config to factories 2013-10-24 12:39:33 -04:00
Roy Clarkson 5cdaa43912 Add Spring Mobile Device Resolver autoconfiguration 2013-10-08 17:43:09 -04:00
Dave Syer 5b1503d07d Extract DispatcherServletAutoConfiguration so it can be used independently 2013-10-02 06:39:28 -04:00
Greg Turnquist 941d163709 Add support for Spring Rabbit (via Spring AMQP) to Boot
- If RabbitTemplate is on the classpath, turn on autodetection.
- Create a RabbitTemplate, a Rabbit ConnectionFactory, and a RabbitAdmin is spring.rabbitmq.dynamic:true
- Enable some **spring.rabbitmq** properties like host, port, username, password, and dynamic
- Add tests to verify functionality
- Add Groovy CLI functionality. Base it on @EnableRabbitMessaging. Add spring-amqp to the path.
- Create rabbit.groovy test to prove it all works.
- Make Queue and TopicExchange top-level Spring beans in rabbit.groovy test script
2013-09-26 12:14:06 -04:00
Greg Turnquist 5801e422cf [BS-48] Add autoconfigured JMS support
* Add ability to detect spring-jms on the path and create a JmsTemplate with
  ActiveMQConnectionFactory
* Create tests showing autoconfigured JmsTemplate with ActiveMQ, but prove it
  backs off if a separate ConnectionFactory exists.
* Add support to spring-boot-cli to that it detects JmsTemplate, DefaultMessageListenerContainer,
  or SimpleMessageListenerContainer, and turns on autoconfiguration as well as
  add proper @Grab's and import statements.
* Write a jms.groovy test showing proper CLI support

Simplify ActiveMQ configuration

Update ActiveMQ to 5.7.0
2013-09-18 17:52:14 +01:00
Dave Syer 191894a16a Add Mongo auto configuration
Spring Data Mongo is the only dependency so it doesn't
really need a new starter. Added a sample though.
2013-09-11 09:53:36 -07:00
Dave Syer d06d202fd0 Add AopAutoConfiguration (also starter and sample)
A side effect is that spring-boot-starter-data-jpa needs
to include an aspectjweaver depdendency. Hope that doesn't
hurt anything else.

[Fixes #56780004]
2013-09-11 06:18:34 -07:00
Dave Syer 767aa43e31 Add WebSocketAutoConfiguration
Opinionated defaults for WebSockets:

* If spring-websocket is on the classpath and so is
the Tomcat WSci initializer then it is added to the context
* A DefaultSockJsService is added if none is present
* User has only to define @Beans of type WebSocketHandler with
name starting "/"
* Each one is converted to a SockJsHttpRequestHandler and
mapped to "/<beanName>/**"
2013-09-05 17:14:10 -07:00
Phillip Webb b665a2bb1d Renamed packages
Issue: #54095231
2013-07-26 14:11:04 -07:00
Phillip Webb 3f2bb03fb8 Renamed some projects and polish POMs
Issue: #54095231
2013-07-26 12:31:37 -07:00