- 18 2月, 2015 10 次提交
-
-
由 Juergen Hoeller 提交于
-
由 Juergen Hoeller 提交于
-
由 Juergen Hoeller 提交于
Issue: SPR-12724
-
由 Juergen Hoeller 提交于
Issue: SPR-12644
-
由 Juergen Hoeller 提交于
Issue: SPR-12723
-
由 Juergen Hoeller 提交于
Issue: SPR-12709
-
由 Sebastien Deleuze 提交于
Issue: SPR-12724
-
由 Sebastien Deleuze 提交于
This commit adds support for a same origin check that compares Origin header to Host header. It also changes the default setting from all origins allowed to only same origin allowed. Issues: SPR-12697, SPR-12685
-
由 Sam Brannen 提交于
- Added assertions for pre-conditions on method arguments for all public utility methods. - Introduced additional tests in TestPropertySourceUtilsTests to verify the new pre-conditions. - Introduced INLINED_PROPERTIES_PROPERTY_SOURCE_NAME constant for the name of the MapPropertySource created from inlined properties; the name therefore no longer contains the inlined properties, but the original values of the inlined properties can now be logged at debug level. - Simplified tests in InlinedPropertiesTestPropertySourceTests. Issue: SPR-12721
-
由 Sam Brannen 提交于
-
- 17 2月, 2015 4 次提交
-
-
由 Sam Brannen 提交于
Spring Framework 4.1 introduced support for @TestPropertySource; however, the utilities used to parse inlined properties and add test property sources to the environment are currently private which prevents reuse by third-party frameworks like Spring Boot. This commit addresses this issue by making such utilities public. - TestPropertySourceUtils is now a public class. - Various utility methods in TestPropertySourceUtils have been made public. - addResourcePropertySourcesToEnvironment() has been renamed to addPropertiesFilesToEnvironment(). - extractEnvironmentProperties() has been renamed to convertInlinedPropertiesToMap(). - All public methods in TestPropertySourceUtils are now fully documented. Issue: SPR-12721
-
由 Sam Brannen 提交于
The initial implementation for adding inlined properties configured via @TestPropertySource to the context's environment did not preserve the order in which the properties were physically declared. This makes @TestPropertySource a poor testing facility for mimicking the production environment's configuration if the property source mechanism used in production preserves ordering of property names -- which is the case for YAML-based property sources used in Spring Boot, Spring Yarn, etc. This commit addresses this issue by ensuring that the ordering of inlined properties declared via @TestPropertySource is preserved. Specifically, the original functionality has been refactored. extracted from AbstractContextLoader, and moved to TestPropertySourceUtils where it may later be made public for general purpose use in other frameworks. Issue: SPR-12710
-
由 Sam Brannen 提交于
-
由 Rossen Stoyanchev 提交于
Before this change the WebSocketTransportHandler passed Collections.emptyMap as attributes to the HandshakeHandler because it didn't matter what attributes the underlying WebSocketSession has since it is wrapped by the SockJsSession and that's what exposed for use everywhere. This change has the WebSocketTransportHandler passing the attributes from the SockJsSession instead since it's more accurate for the underlying WebSocketSession to have access to the same map instance and it allows the HandshakeHandler to change the attributes even if it doesn't need to do that today. Issue: SPR-12716
-
- 16 2月, 2015 1 次提交
-
-
由 Stephane Nicoll 提交于
AnnotationListener implementations can now be ordered either using the `@order` annotation or by implementing the Ordered interface. Issue: SPR-12410
-
- 13 2月, 2015 2 次提交
-
-
由 Sam Brannen 提交于
This commit introduces further regression tests to ensure proper parsing of inlined properties configured via @TestPropertySource. Specifically, these additional tests ensure that we do not introduce a bug like the one raised in Spring Boot issue #1110 [0]. [0] https://github.com/spring-projects/spring-boot/issues/1110 Issue: SPR-12710
-
由 Sam Brannen 提交于
-
- 12 2月, 2015 7 次提交
-
-
由 Stephane Nicoll 提交于
Previously, the exception-handler attribute was not taken care of when task:annotation-driven is used in AspectJ mode. This commit provides the expected behavior. Issue: SPR-12619
-
由 Stephane Nicoll 提交于
Issue: SPR-11803
-
由 Stephane Nicoll 提交于
* patch-3: fix javadoc typo
-
由 John Tims 提交于
-
由 Juergen Hoeller 提交于
-
由 Juergen Hoeller 提交于
Issue: SPR-12594 Issue: SPR-12634
-
由 Andy Wilkinson 提交于
Jasper Reports’ transitive dependency on spring-context (via castor-xml which is a new dependency in 6.0.3) was being mapped by Gradle to a dependency on the spring-context project. For reasons that I do not fully understand this was causing -source and -javadoc jars to be added to the project's compile classpath which is used by the Animal Sniffer Ant task. When the task runs these jars do not exist which causes it to fail. This commit fixes the problem by adding an exclusion of org.springframework:spring-context to the Jasper Reports dependencies in spring-context-support and spring-webmvc.
-
- 11 2月, 2015 8 次提交
-
-
由 Stephane Nicoll 提交于
Previously, only indexed access for collections were supported. When attempting to access the element of an array that had not the requested size, the call would fail with an IndexOutOfBoundException This commit harmonize the binding support so that the array is updated according to the requested index if necessary. Issue: SPR-12706
-
由 Juergen Hoeller 提交于
-
由 Juergen Hoeller 提交于
-
由 Juergen Hoeller 提交于
-
由 Juergen Hoeller 提交于
-
由 Juergen Hoeller 提交于
Issue: SPR-12655
-
由 Juergen Hoeller 提交于
Issue: SPR-12694
-
由 Juergen Hoeller 提交于
Issue: SPR-12688
-
- 10 2月, 2015 8 次提交
-
-
由 Stephane Nicoll 提交于
* SPR-12653: Synchronize clear on TransactionAwareCacheDecorator
-
由 Stas Volsky 提交于
Previously, a cache decorated with TransactionAwareCacheDecorator would clear the cache immediately, even when a transaction is running. This commit updates the decorator to synchronize to the afterCommit phase for the clear operation as well. Issue: SPR-12653
-
由 Stephane Nicoll 提交于
Issue: SPR-12691
-
由 Stephane Nicoll 提交于
-
由 Stephane Nicoll 提交于
Update the application event listener infrastructure to support events that are processed according to a transactional phase. Introduce EventListenerFactory that can be implemented to provide support for additional event listener types. TransactionalEventListener is a new annotation that can be used in lieu of the regular EventListener. Its related factory implementation is registered in the context automatically via @EnableTransactionManagement or <tx:annotation-driven/> By default, a TransactionalEventListener is invoked when the transaction has completed successfully (i.e. AFTER_COMMIT). Additional phases are provided to handle BEFORE_COMMIT and AFTER_ROLLBACK events. If no transaction is running, such listener is not invoked at all unless the `fallbackExecution` flag has been explicitly set. Issue: SPR-12080
-
由 Stephane Nicoll 提交于
Add support for annotation-based event listeners. Enabled automatically when using Java configuration or can be enabled explicitly via the regular <context:annotation-driven/> XML element. Detect methods of managed beans annotated with @EventListener, either directly or through a meta-annotation. Annotated methods must define the event type they listen to as a single parameter argument. Events are automatically filtered out according to the method signature. When additional runtime filtering is required, one can specify the `condition` attribute of the annotation that defines a SpEL expression that should match to actually invoke the method for a particular event. The root context exposes the actual `event` (`#root.event`) and method arguments (`#root.args`). Individual method arguments are also exposed via either the `a` or `p` alias (`#a0` refers to the first method argument). Finally, methods arguments are exposed via their names if that information can be discovered. Events can be either an ApplicationEvent or any arbitrary payload. Such payload is wrapped automatically in a PayloadApplicationEvent and managed explicitly internally. As a result, users can now publish and listen for arbitrary objects. If an annotated method has a return value, an non null result is actually published as a new event, something like: @EventListener public FooEvent handle(BarEvent event) { ... } Events can be handled in an aynchronous manner by adding `@Async` to the event method declaration and enabling such infrastructure. Events can also be ordered by adding an `@order` annotation to the event method. Issue: SPR-11622
-
由 Stephane Nicoll 提交于
Update the event publishing infrastructure to support generics-based events, that is support ApplicationListener implementations that define a generic event, something like: public class MyListener implements ApplicationListener<GenericEvent<String>> { ... } This listener should only receive events that are matching the generic signature, for instance: public class StringEvent extends GenericEvent<String> { ... } Note that because of type erasure, publishing an event that defines the generic type at the instance level will not work. In other words, publishing "new GenericEvent<String>" will not work as expected as type erasure will define it as GenericEvent<?>. To support this feature, use the new GenericApplicationListener that supersedes SmartApplicationListener to handle generics-based even types via `supportsEventType` that takes a ResolvableType instance instead of the simple Class of the event. ApplicationEventMulticaster has an additional method to multicast an event based on the event and its ResolvableType. Issue: SPR-8201
-
由 Rossen Stoyanchev 提交于
Before this change, detection of X-Forwarded-* headers was only built into ServletUriComponentsBuilder. This change adds a new method for creating a UriComponentsBuilder from an existing HttpRequest. This is equivalent to the fromUri method + X-Forwarded-* header values.
-