Commit Graph

114 Commits (83d3b508a88bba5693b44c3352142633e8959bac)

Author SHA1 Message Date
Dave Syer c6b4c48181 [bs-22] Add tests for OnResourceCondition
[#48127729] [bs-22] Add missing unit tests
12 years ago
Dave Syer c675d9c76e [bs-22] Add tests for Yaml processing
* Gap in logic identified, so DocumentMatcher refactored to
return an enum

[#48127729] [bs-22] Add missing unit tests
12 years ago
Dave Syer 7531c5acfb [bs-22] Add test for Batch auto config
[#48127729] [bs-22] Add missing unit tests
12 years ago
Dave Syer 8bb968d8f5 Switch favicon.ico value 12 years ago
Dave Syer 2861ad4106 [bs-122] Support for Spring Data DomainClassConverter
[#49906951]
12 years ago
Dave Syer ab121dc91b [bs-127] Add DataSourceTransactionManager if no others are in use
* If the auto config class has a high Order it can check for
an existing transaction manager
* Unit tests added, and checked also witrh petclinic

[Fixes #50064347]
12 years ago
Dave Syer 8dae41f24c Fix missing trailing / in resource paths 12 years ago
Dave Syer a12f0dcd12 [bs-51] Add support for h2 and Derby embedded database
Also included support for database shutdown in @PreDestroy

[Fixes #48387903]
12 years ago
Dave Syer 1a0902b32a Improve logging for @Conditional processing
[Fixes #49989913] [bs-125] @Conditional* seem to get processed multiple times?
12 years ago
Dave Syer 00c227ac01 Add favicon.ico 12 years ago
Dave Syer a1dd6e3293 Fix data sample (needed an enum for spring.jpa.ddl_auto) 12 years ago
Dave Syer 369b0834a0 Re-order spring.factories so vanilla JPA users get component scan detection 12 years ago
Dave Syer 50f3a2c614 Add logging to BasicDataSourceConfiguration 12 years ago
Dave Syer 2dc296caa9 [bs-98] Add support for Tomcat database pool
* If Tomcat jdbc is available and the driverClassName and url
are provided or can be guessed (e.g. for HSQL) it is used.
Properties spring.database.{driverClassName,url} are consulted.

* If Commons DBCP is available it is used (if Tomcat is not)

* Otherwise an EmbeddedDatabase is created if all the bits are
available

* A JdbcOperations and a NamedParameterJdbcOperations are
available by default if a DataSource is created

* The data source is initialized from spring.database.schema (csv
of resource patterns)

[Fixes #49393511]
12 years ago
Dave Syer 74fffeba73 Rename LoggingInitializer to be consistent with others 12 years ago
Dave Syer 83b5240a0f Add some dependencies 12 years ago
Dave Syer 73f28a3809 [bs-22] Add tests for JPA auto configuration
* Extracted the component scan detector so it can be used
without @EnableAutoConfiguration
* Added unit tests
* Improve logging in @Conditional processing

[#48127729]
12 years ago
Dave Syer ad2e311f2f [bs-124] Add tests for @ConditionalOnBean
[#49989537] [bs-124] @ConditionalOnBean doesn't work
12 years ago
Dave Syer 728b4887c1 [bs-107] Remove "z" suffix from management endpoints
* /varz->/metrics
* /healthz->/health
* all actuator endpoints are now in a subpackage

[Fixes #49496887]
12 years ago
Dave Syer 53078c320e [bs-118], [bs-119]: add UI builder features
* MessageSource created automatically (location
spring.messages.basename:messages)
* Thymeleaf configured automatically to look for
templates in classpath:/templates
* Added static resource handlers for classpath:/static
and classpath:/

[Fixes #49832165] [bs-118] Support for thymeleaf templates
12 years ago
Dave Syer ceea71fc38 [bs-53] Fix class loading problem with Log in a Condition 12 years ago
Dave Syer ad3076784d [bs-53] Aid for users debugging auto-configuration failures
Add logging to Condition implementations.

[Fixes #48389533]
12 years ago
Dave Syer ef5c8aa304 [bs-115] Add EmbeddedServletContainerCustomizer as a callback
* All instances are called before the container is started in
 a bean post processor
* Users still have to be careful because the customizer is
called very early in the ApplicationContext lifecycle (e.g.
might have to do a lookup for some dependencies instead of
@Autowired)

[Fixes #49671463] User-hook for customizing embedded servlet container
12 years ago
Dave Syer ad19edf03b Fix bug introduced by Spring @Configuration processing 12 years ago
Dave Syer fc8240ac88 Fix ordering problem with validator being null 12 years ago
Dave Syer ceab9b9b33 [bs-111] Extract trace logging from Security config
It's not really a security feature (just logging request headers),
so better to put it in the main actuator autoconfig.

[Fixes #49578819] [bs-111] Unresolvable cycle when separating management.port
12 years ago
Phillip Webb c8f37a95c9 [bs-18] Unhack direct field access
Remove reflection hacks from ConfigurationPropertiesBindingConfiguration
following updates to Spring 4.0
12 years ago
Phillip Webb 44947b13a8 Polish calling of ExitCodeGenerators 12 years ago
Phillip Webb a0fb085102 Refactor to work with Spring 4.0
Refactor code to work with Spring 4.0 M1
12 years ago
Phillip Webb 4743d1803c Update JavaLoggerConfigurer to use AC ClassLoader
Update JavaLoggerConfigurer to use the ApplicationContext classloader
rather then the default classloader. Also refactored to introduce
LoggingSystem enum to act as a strategy for the specific logging
systems.
12 years ago
Phillip Webb e7a67ba2a8 Use commons-logging for bootstrap dependencies
Update main bootstrap modules to use Apache commons-logging rather than
SLF4J.
12 years ago
Phillip Webb cafded9e7e Polish JavaDoc 12 years ago
Dave Syer 8bfe07c730 Use HttpStatus in ErrorPage 12 years ago
Dave Syer 4a292bd93f [bs-97] Support adding management endpoints to a different network
* ManagementProperties and ServerProperties now support an address property
* For example set management.port=9001,management.address=127.0.0.1 to listen
on port 9001 but only for connections from the localhost

[Fixes #49395783]
12 years ago
Dave Syer a5810af882 Add mvn deployment gumf 12 years ago
Dave Syer 694a1dd408 Bump version to 0.5.0.BUILD-SNAPSHOT 12 years ago
Dave Syer b462bc6e6c [bs-96] Switch off m2e errors about /eclipse path
* Uploaded m2e eclipse baggage to http://static.springsource.org
* Changed location in parent pom
* Removed all main.basedir properties from poms

[Fixes #49285987]
12 years ago
Dave Syer 7e548b5bd4 [bs-93] Add /info endpoint with git properties etc.
* If git.properties is on the classpath (e.g. from the Maven plugin)
/info will list the commit id, branch and dates.
* If application.yml has an info object at the top level that will
be diplayed as well (so e.g. you can use Maven resource filtering
top add the project name, version etc.)
* RelaxedDataBinder can now be used to bind to a Map (as opposed to
a nested Map inside teh target bean)

[Fixes #49130073]
12 years ago
Dave Syer f5bfc37896 Use Resource[] for database initialization 12 years ago
Dave Syer 47f60684e3 [bs-94] Add database initializer if schema.sql detected
* If an embedded database is created it is also initialized from
classpath:/schema.sql if it exists
* Also added (but didn't use) @ConditionalOnResource

[Fixes #49142305]
12 years ago
Dave Syer 61a94f212d [bs-89] Allow user to plugin validator for @ConfigurationProperties
* Also fix ordering problem in integration tests
(An application context not being closed led  to port 8080
being already in use.)
* Validator can be specified by providing a Spring Validator with
bean id configurationPropertiesValidator.

[Fixes #49067859]
12 years ago
Dave Syer 504d96eb51 [bs-92] Add simple main wrapper for SpringApplication
* Added Spring class
* Used in demo project in README
* Also fixed cycle in spring-bootstrap jar

[Fixes #49121565]
12 years ago
Dave Syer a968b140cc Add java docs to SpringApplication.main 12 years ago
Dave Syer ce0e443b0a [bs-84] Add basic getting started guide to service project
Still work in progress, bubt enough there to get someone up a
nd running I hope
[#49047467]
12 years ago
Dave Syer bd79ec2362 [bs-22] Move @ConfigurationProperties processing to main jar
Also add unit tests.  Note also the start.groovy for the service
sample now works.

[#48127729]
12 years ago
Dave Syer 30087cf6b9 [bs-55] Add strategy for setting system exit code
* Added ExitCodeGenerator and SpringApplication.exit
convenience method
* User can add bean of type ExitCodeGenerator or supply
one in the call to exit()

[Fixes #48475971]
12 years ago
Dave Syer 4d372bcc25 Remove runComponents from SpringApplication
It was basically duplicating run(Object[], String[]) - unless
there is some harm in registering a non-component with the context
that I haven't seen yet.
12 years ago
Dave Syer 833b13bbbc [bs-80] Add configurable / switchable web request trace logging (headers etc)
* Added a bean post processor for the Spring Security filter chain
(so you only get traces by default if security is on)
* Every request is logged at trace level if the dump requests flag is
on
* Requests are also dumped to a TraceRepository for later analysis (very
useful for tracing problems in real time when a support call comes in)

[Fixes #48976001]
12 years ago
Dave Syer 361f500ed5 [bs-28] Add /shutdown endpoint to service apps
Disabled by default use container.allow_shutdown=true to switch
it on.  Then POST to /shutdown to shut down the app.

[#48059059]
12 years ago
Dave Syer c4028656ef Move context initializers into subpackage 12 years ago
Dave Syer bb62ca835e [bs-24] Support multi-file compile from command line
* Each non-option arg is tested to see if it is a file
* If it is .groovy (or .java) it is compiled

[#48127661]
12 years ago
Dave Syer e8e059bc90 [bs-78] Add port=0 option to switch off main servlet container
[Fixes #48888639]
12 years ago
Dave Syer 628a8c79aa [bs-19] Medley of changes supporting integration apps
* Use file adapters in sample instead of internal flow
* Add Exception to signature of CommandLineRunner for
implementation convenience
* Updates for Security snapshots
12 years ago
Dave Syer 10c333ea10 [bs-73] Tweak algorithm for detecting anonymous classes
@Bean definitions in Groovy that contain closures have the bean name in
the class name.  Ugh.  Added regex match to catch that.

[#48718891]
12 years ago
Dave Syer ec351e5f7d Add test for custom context initializer
[#48127729] [bs-22] Add missing unit tests
12 years ago
Dave Syer 4ca26058fa [bs-73] Tweak configuration class detection algorithm some more
This looks like becoming a recurring theme. Unfortunately it's
not very easy to test if a class might eventually be instantiatable
by Spring.

This change fixes the main bootstrap SpringApplicationTests
which were failing because they used non-static inner classes
for test configurations.
12 years ago
Dave Syer d6a670e13e [bs-47] Add default command line args to SpringApplication
* See SpringApplication.setDefaultCommandLineArgs
* Assumes command line is in "simple" form (TODO: if we
need JOpt etc. support then the command line args parsing from
Spring needs to be exposed)
* If defaults are provided the command line might be re-ordered
slightly (non-option args come after option args)
* Allows custom application.properties file names to be specified
as a side effect (--spring.config.name=... or
--spring.config.location=...}.

[Fixes #48284369]
12 years ago
Dave Syer bcf86b320e [bs-72], [bs-75] Add Batch plugin features
* Auto config in main bootstrap jar
* Compiler enhancements in groovy cli
* Sample script in cli samples

[Fixes #48716881], [Fixes #48788313]
12 years ago
Dave Syer 83e0ea22c1 [bs-19] Add samples and CLI support for Spring Integration
$ cd spring-bootstrap-cli
    $ export SPRING_HOME=target
    $ src/main/scripts/spring run samples/integration.groovy

The big disadvantage at the moment is that there is no goo way to
detect Spring Integration in the AST (at least not as good as @Enable*).
So for now we are looking for @MessageEndpoint or a class name with
SpringIntegration in it.

[#48151147]
12 years ago
Dave Syer d82c50804f [bs-73] Tweak algorithm for detecting anonymous classes
Apparently an anonymous class in Groovy is no anonymous in the compiled code,
so we need another heuristic.  We now check for non-existence of public
constructors (if there are none then there's no point regsistering that
class with an application context).

[#48718891]
12 years ago
Dave Syer a2d328ae3a [bs-73] Anonymous classes cannot be used in @Bean definitions in .groovy scripts
* Added a test for each of the classes loaded by the SpringApplication
* If it's an anonymous class or looks like a Groovy closure we ignore it
* The CLI sample job.groovy also modified to take advantage

[Fixes #48718891]
12 years ago
Dave Syer 38f0cf1ed2 [bs-62] Add integration tests for CLI samples
[Fixes #48658503]
12 years ago
Dave Syer 8a4b50e289 [bs-14] Ensure all servlet context initializers are called
Misuse of TreeSet in EmbeddedWebApplicationContext corrected
(use List and Comparator instead of TreeSet).

[Fixes #48055339]
12 years ago
Dave Syer fb6b224470 Fast forward existing prototype work 12 years ago