forked from spring-projects/spring-framework
-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Touch up embedded containers blog post #5
Closed
Closed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- @WebApplicationContext --> @WebAppConfiguration
This change resolves a specific issue with processing java.math.BigDecimal via ExtendedBeanInfo. BigDecimal has a particular constellation of #setScale methods that, prior to this change, had the potential to cause ExtendedBeanInfo to throw an IntrospectionException depending on the order in which the methods were processed. Because JDK 7 no longer returns deterministic results from Class#getDeclaredMethods, it became a genuine possibility - indeed a statistical certainty that the 'wrong' setScale method handling order happens sooner or later. Typically one could observe this failure once out of every four test runs. This commit introduces deterministic method ordering of all discovered non-void returning write methods in such a way that solves the problem for BigDecimal as well as for any other class having a similar method arrangement. Also: - Remove unnecessary cast - Pass no method information to PropertyDescriptor superclasses when invoking super(...). This ensures that any 'type mismatch' IntrospectionExceptions are handled locally in ExtendedBeanInfo and its Simple* PropertyDescriptor variants where we have full control. Issue: SPR-10111, SPR-9702
Previously the algorithm used by GenericConversionService to find converters incorrectly searched for interfaces working up from the base class. This caused particular problems with custom List converters as as the Collection interface would be considered before the List interface giving CollectionToObjectConverter precedence over the custom converter. The updated algorithm restores the class search order to behave in the same way as Spring 3.1. Issue: SPR-10116
* cleanup-3.2.x: (33 commits) Update Apache license headers for affected sources Ignore performance-sensitive tests by default Introduce 'spring-build-junit' subproject Replace EasyMock with Mockito in test sources Add @OverRide annotations to test sources Update test source and target JDK compatibility Update -Xlint compiler warning output Fix various compiler warnings in spring-context Fix "unnecessary @SuppressWarnings" warnings Fix [rawtypes] compiler warnings Fix [dep-ann] warnings with @deprecated Fix [cast] compiler warnings Fix [serial] compiler warnings Fix [varargs] compiler warnings Fix warnings due to unused import statements Replace <code> with {@code} throughout Javadoc Fix various Javadoc warnings Replace space indentation with tabs Remove trailing whitespace in source files Various updates to support IDEA ... Conflicts: gradle.properties
Update source and target compatibility from 1.5 to 1.6, meaning that @OverRide is now allowed on implementations of interface methods within main classes. Issue: SPR-10130
Issue: SPR-10130
* SPR-10130: Add @OverRide annotations to main sources Update main source and target JDK compatibility
* cleanup-master: (36 commits) Update Apache license headers for affected sources Add @OverRide annotations to main sources Update main source and target JDK compatibility Update Apache license headers for affected sources Ignore performance-sensitive tests by default Introduce 'spring-build-junit' subproject Replace EasyMock with Mockito in test sources Add @OverRide annotations to test sources Update test source and target JDK compatibility Update -Xlint compiler warning output Fix various compiler warnings in spring-context Fix "unnecessary @SuppressWarnings" warnings Fix [rawtypes] compiler warnings Fix [dep-ann] warnings with @deprecated Fix [cast] compiler warnings Fix [serial] compiler warnings Fix [varargs] compiler warnings Fix warnings due to unused import statements Replace <code> with {@code} throughout Javadoc Fix various Javadoc warnings ...
* 3.2.x: Remove extra URL prefix in the MVC chapter Polish contributor guidelines
* 3.2.x: Add quartz scheduling test to TestGroup.PERFORMANCE
* 3.2.x: Add aop target source test to TestGroup.PERFORMANCE
* 3.2.x: Exclude spring-build-src from maven publish Move spring-build-junit into spring-core Relocate MergePlugin package Develop a gradle plugin to add test dependencies Expose Gradle buildSrc for IDE support Fix [deprecation] compiler warnings Upgrade to xmlunit version 1.3 Improve 'build' folder ignores Fix regression in static setter method support Fix SpEL JavaBean compliance for setters Conflicts: spring-beans/src/test/java/org/springframework/beans/ExtendedBeanInfoTests.java
* 3.2.x: Fix ClassCastException when setting media types Enable execution of TestNG tests in spring-test Polish support for topic branch-specific versions Segregate add'l long-running and performance tests Eliminate EBR dependencies and repository config Skip creation of IDEA metadata for spring-aspects Fix Eclipse compilation error in Gradle plugin Polish build.gradle Fix null parameterName issue in content negotiation Recursively add test dependencies
* 3.2.x: Use unmodified 'version' when not on a topic branch
Conflicts: gradle.properties spring-beans/src/main/java/org/springframework/beans/factory/support/StaticListableBeanFactory.java spring-context-support/src/main/java/org/springframework/cache/ehcache/EhCacheManagerFactoryBean.java spring-core/src/main/java/org/springframework/core/convert/support/StringToEnumConverterFactory.java spring-core/src/main/java/org/springframework/core/env/ReadOnlySystemAttributesMap.java spring-jdbc/src/main/java/org/springframework/jdbc/datasource/LazyConnectionDataSourceProxy.java spring-jdbc/src/main/java/org/springframework/jdbc/support/lob/AbstractLobHandler.java spring-web/src/main/java/org/springframework/http/client/BufferingClientHttpRequestWrapper.java spring-web/src/main/java/org/springframework/http/client/SimpleBufferingClientHttpRequest.java spring-web/src/main/java/org/springframework/http/converter/BufferedImageHttpMessageConverter.java spring-web/src/main/java/org/springframework/http/converter/FormHttpMessageConverter.java
This commit adds examples to the Javadoc for @ContextHierarchy and updates the Javadoc for @ContextConfiguration accordingly. Issue: SPR-10357
This commit polishes the Javadoc for @ContextHierarchy and @ContextConfiguration. Issue: SPR-10357
This commit reformats the testing chapter (and adds minor polishing changes) in order to avoid massive merge diffs in upcoming commits. Issue: SPR-10357
Previously the methodParameter array field was initialized lazily since it requires reflection. However, in practice the field is always used and there is not much benefit from the lazy initialization. In Spring Framework 3.2, the methodParameter field was copied when a new HandlerMethod instance (with the resolved bean) is created for performance reasons. That introduced a synchronization issue since the lazy initialization was not synchronized. Issue: SPR-10365
Fix test for daylight savings glitch
This commit updates the reference manual regarding the new support for @ContextHierarchy and hierarchy modes in @DirtiesContext. Issue: SPR-10357
The problem was that clocks go forward *at* 2am, so 2am doesn't exist once a year. Users might be surprised that their cron trigger doesn't go off one night, but that is arguably correct (and what happens now). The test can be modified if we decide to change the trigger behaviour.
# By Dave Syer * dsyer-feature/crontest: Add additional test for daylight savings glitch
… 2.4, OpenJPA 2.2, Hibernate 3.6
Specifically, EhCacheFactoryBean extends CacheConfiguration now and therefore inherits all configuration properties of the underlying EhCache version. This reduces the need for catching up with new EhCache properties on our side. Issue: SPR-8258
…support for JAX-WS 2.2 service-level features now
…ervlet 3.1 support in MockHttpServletResponse)
…re in case of multiple tests executed on the same VM
Develop new EmbeddedWebApplicationContext (along with XML and @configuration variants) that creates and controls an embedded servlet container. Unlike the traditional approach where a ContextLoaderListener bootstraps Spring and creates a new WebApplicationContext, embedded support expects that the EmbeddedWebApplicationContext will be created directly. The EmbeddedWebApplicationContext will become aware of a ServletContext once the embedded container has been started. This will happen early, allowing regular beans to call the getServletContext() method or implement ServletContextAware. The EmbeddedServletContainerFactory and EmbeddedServletContainer interfaces provide a simple abstraction for creating, starting and stopping the container. Any embedded container that supports Servlet 3.0+ initialization can be adapted. Implementations for Tomcat and Jetty are provided. The FrameworkServlet (and hence the DispatcherServlet subclass) is now ApplicationContextAware. This allows FrameworkServlets to be defined and used as Spring beans within the EmbeddedWebApplicationContext. Issue: SPR-10381
disregard this PR |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.