Commit Graph

49447 Commits

Author SHA1 Message Date
Greg Turnquist
4b1c58d736 [BS-157] Add MultipartConfig support
Use Servlet 3.0 features to autodetect a MultipartConfigElement and
hence autowire multipart support in the servlet container.
2013-06-15 07:23:28 +01:00
Dave Syer
1f17ac3e34 Add some security managed dependencies 2013-06-14 15:32:47 +01:00
Gonçalo Silva and Scott Andrews
ed513ee846 Fix compile dependency on commons-logging 2013-06-14 15:20:42 +01:00
Dave Syer
697c210155 Add cacheable switch to Thymeleaf template resolver
User can set spring.template.cache=false to change the behaviour
2013-06-13 13:46:21 +01:00
Dave Syer
e1bac589fb Use available Converters for @ConfigurationProperties binding 2013-06-13 06:54:11 +01:00
Phillip Webb
002c4e0ff4 Add security starter pom 2013-06-12 17:36:14 -07:00
Phillip Webb
5ce220b51c Add Jackson 2 to web starter 2013-06-12 15:47:45 -07:00
Phillip Webb
9782747027 Use SpringZero Banner 2013-06-12 15:46:20 -07:00
Phillip Webb
8c347fc99b Numerous changes to actuator
Numerous changes to the actuator project, including:
- Specific Endpoint interface
- Spring MVC/Enpoint adapter
- Management server context changes
- Consistent auto-configuration class naming
- Auto-configuration ordering
- Javadoc, code formatting and tests
2013-06-12 15:42:56 -07:00
Phillip Webb
dd69d0f660 Polish and Fixup
Polish and fixup:
- Ordered auto-configuration
- @ConditionalOnBean default on @Bean methods
- Improved separation of auto-configure classes
- Consistent naming
- Javadoc, code formatting and tests
2013-06-12 15:42:55 -07:00
Phillip Webb
2f84df66b6 Always store @ComponentScan details
Refactor JpaComponentScanDetector to a more general use utility and
ensure that details are always stored.
2013-06-12 15:42:55 -07:00
Phillip Webb
b572d98cbf Support ordering of auto-configuration classes
Update EnableAutoConfigurationImportSelector to sort auto-configuration
classes based on @Order and @AutoConfigureAfter annotations.
2013-06-12 15:42:55 -07:00
Phillip Webb
3536fc68f5 Update On(Missing)Bean Condition logic
Update OnBeanCondition and OnMissingBeanCondition to work better
with @Configuration classes and to support an optional considerHierarchy
annotation value.

The class value for conditions can now also be inferred when used on
@Bean methods.
2013-06-12 15:42:55 -07:00
Phillip Webb
7d7dc5107d Use Spring 4.0 snapshot 2013-06-12 15:42:55 -07:00
Phillip Webb
ced99ff18c Polish pom.xml
Polish pom.xml formatting and pull version numbers into parent pom
when possible.
2013-06-12 15:42:55 -07:00
Phillip Webb
6a2f36a68a Obtain ServletContextInitializer beans later
Update EmbeddedWebApplicationContext to obtain ServletContextInitializer
beans after self initialization. Allows @Configuration beans to be
ServletContextAware.
2013-06-12 15:42:54 -07:00
Dave Syer
4923717524 Fix for Security snapshots 2013-06-12 05:59:50 +01:00
Dave Syer
b761fa8ede Add tomcat starter and tweak spring CLI 2013-06-12 04:37:14 +01:00
Dave Syer
20cce0c69c [bs-52] Added support for SpringApplication in a ServletContextInitializer
WAR applications should extend SpringServletInitializer to take advantage
of Servlet 3.0 initialization and SpringApplication context loading features.

[#48386505] [bs-52] Support for running "traditional" webapps in place
2013-06-11 07:40:33 +01:00
Dave Syer
7bd1aeb514 Add global properties for versions 2013-06-07 14:14:22 +01:00
Dave Syer
4ee6a90edd [bs-148] Add /env endpoint for Spring Environment
Any enumerable property source is enumerated.  Plus all
properties are available through /env/{name}.

[Fixes #51141441]
2013-06-07 13:29:35 +01:00
Dave Syer
6c5f9a5961 [bs-150] Add HTML error page to Actuator UI apps
The ErrorEndpoint now handles text/html requests differently, delegating
to a View named "error". This view will not exist by default so the user
will see an ugly 500 error, but it's easy to fix and there isn't a good
to provide a default.

[Fixes #51214943]
2013-06-07 12:46:04 +01:00
Dave Syer
7ca2a18ab9 [bs-138] Add explicit @Order to auto security filter
Now users can provide a fallback filter with default @Order
and it won't affect the operation of the default secure endpoints.

[Fixes #50721675]
2013-06-07 09:11:10 +01:00
Dave Syer
a7ea0f643a Updates for Spring Security snapshots 2013-06-07 07:29:54 +01:00
Dave Syer
e011312c68 [bs-138] Make it easy to secure only the management endpoints
Example: web UI with publicly available static assets

    # application.properties:
    security.ignored: /css/**,/script/**

Example: web UI with publicly available everything, but secure
management endpoints.

    # application.properties:
    # Empty path for basic security (default is /**)
    security.basic.path=

[Fixes #50721675]
2013-06-06 22:10:20 +01:00
Dave Syer
7b0ec252dd Revert to Spring 4.0.0.M1 2013-06-05 09:31:15 +01:00
Dave Syer
fc021fc86a Some javadocs 2013-06-05 06:58:35 +01:00
Dave Syer
e60efc7e55 [bs-17], [bs-146] Add some ApplicationContextInitializers
* One for Cloud Foundry and one for the application context ID
* If app runs in Cloud Foundry vcap.application.* and vcap.services.*
will be populated in the Environment
* The ApplicationContext ID is set to something supposedly unique
(e.g. name:index in a Cloud Foundry app)

[#50968415] [#48153639]
2013-06-04 16:33:20 +01:00
Dave Syer
e0d7fc2240 Tweaks to config file intializer 2013-06-04 10:51:11 +01:00
Phillip Webb
9cf33c33fa [bs-52] Allow war files to run in place
Update RandomAccessJarFile to work around EOFExceptio on JDK 6

[#48386505] [bs-52] Support for running "traditional" webapps in place
2013-06-03 22:03:49 -07:00
Dave Syer
a6c03e72e6 [bs-138] Add categories (secure,open) to EndpointsProperties 2013-06-03 09:48:40 +01:00
Dave Syer
c99d7a0a09 Use ResourceLoader from condition context if avilable 2013-06-03 09:41:15 +01:00
Phillip Webb
aded15227f [bs-36] Add Tomcat/Jett MVC integration tests
Add integration tests to check that embedded Jetty and Tomcat containers
can run full Spring MVC applications.
2013-06-02 12:28:15 -07:00
Phillip Webb
a4aef0e0e9 [bs-52] Allow war files to run in place
Update AbstractEmbeddedServletContainerFactory to detect the document
root from a classically packaged war file.

[#48386505] [bs-52] Support for running "traditional" webapps in place
2013-06-02 12:24:51 -07:00
Dave Syer
e98368e3e6 [bs-52] Add configuration for trad sample running as war
The launcher project is used to run a war file.  Not working yet for
me anyway.

[#48386505] [bs-52] Support for running "traditional" webapps in place
2013-06-02 07:49:23 +01:00
Dave Syer
3c34326208 [bs-141] Add Bootstrap WebApplicationInitializer got traditional wars
[#50806851] [bs-141] First class escape hatch from jar to war for web applications
2013-06-01 14:43:55 +01:00
Phillip Webb
7e3c158f3a Polish 2013-05-31 12:26:30 -07:00
Dave Syer
969c7d6fa1 Make sure ThymeleafAutoConfiguration works if imported directly
Before this change if Layout dialect not available then the nested class is
loaded and barfs because it depended on the layout dialect (in a
@ConditionalOnClass annotation).
2013-05-31 16:18:03 +01:00
Dave Syer
f12b3fbcd7 [bs-143] Add LiveBeansView to Actuator app on /beans
As per standard LiveBeansView features, if spring.liveBeansView.mbeanDomain
is set in the Environment, then all application contexts are displayed,
otherwise only the local one.  Only JSON is served (via produces=).

[Fixes #50879457]
2013-05-31 13:59:50 +01:00
Dave Syer
990627b328 [bs-144] Make EmbedddedContainerConfiguration an import selector
Previously EmbedddedContainerConfiguration cannot be imported directly.
This change ensures that the nested classes are not loaded automatically
so there can be no issues with the annotation parameters.

There might be a case for a change in Spring here since the framework
itself could just be more cautious when processing nested classes.

[Fixes #50880927]
2013-05-31 13:24:04 +01:00
Dave Syer
6c22e0ab6e [bs-140] Extract framework-provided @ConfigurationProperties into @Bean
Allows @ConfigurationProperties beans to be declared explicitly (to set default values)

[#50804109]
2013-05-31 13:02:30 +01:00
Dave Syer
cf201ffd80 [bs-142] Add @AssertMissingBean
Example usage is to fail fast if trying to provide
a @ConfigurationProperties bean and it was already
defined

[Fixes #50812235]
2013-05-30 14:15:06 +01:00
Dave Syer
8023a862c3 Add test for @ConfigurationProperties
Various parent context topologies are tried to ensure that the properties
are bound sensibly.

[#50804109] Allow @ConfigurationProperties beans to be declared
explicitly (to set default values)
2013-05-30 11:22:03 +01:00
Dave Syer
3ba5f56808 [bs-138] Add @OnManagementContext for management beans
User adds @OnManagementContext to a bean or @Configuration and
it should be included in the management context (if there is one)
whether it is the main context or a child.

Makes it easy to secure the management endpoints and keep
the rest open (see actuator-ui-sample).

[#50721675]
2013-05-30 08:43:50 +01:00
Dave Syer
729cfe813b [bs-22] Add more unit tests 2013-05-29 09:37:31 +01:00
Dave Syer
aabff1a774 [bs-61] Allow non-default servlets and filters to be registered
* The RegistrationBean (ServletInitializer) now exposes a registration
target object, and this is used to prevent double registration of those
objects.
* If there is a Servlet with bean id "dispatcherServlet" it is mapped to
"/" (unless already registered as a ServletRegistrationBean).

[Fixes #48645559]
2013-05-29 07:41:48 +01:00
Dave Syer
bf30e2de90 [bs-135] Add support for closure-style options declarations
E.g.

    options {
	option "foo", "Foo set"
	option "bar", "Bar has an argument of type int"
          withOptionalArg() ofType Integer
    }

    println "Hello ${options.nonOptionArguments()}: " +
      "${options.has('foo')} ${options.valueOf('bar')}"

[#50427095] [bs-135] Plugin model for spring commands
2013-05-28 17:03:01 +01:00
Dave Syer
dcdf2d00b8 [bs-135] Simplify Command interface a bit more 2013-05-28 17:03:01 +01:00
Dave Syer
fc1012e77d [bs-135] Remove support for option commands
Command names stating with "--" work just as well.

[#50427095]
2013-05-28 17:03:01 +01:00
Dave Syer
d950d15f9b [bs-135] Plugin model for spring commands
* Added CommandFactory and a ServiceLoader model for providing
implementations
* Added ScriptCommand (wrapping groovy script). Service providers
are recommended to implement OptionHandler in their script, but a
regulare Script or a Runnable will also work.

[#50427095]
2013-05-28 17:03:01 +01:00