| Summary: | Enhanced support for custom scopes when using Blueprint | ||
|---|---|---|---|
| Product: | [RT] Gemini.Blueprint | Reporter: | Brian <pradine> |
| Component: | Core | Assignee: | Project Inbox <gemini.blueprint-inbox> |
| Status: | CLOSED WONTFIX | QA Contact: | |
| Severity: | enhancement | ||
| Priority: | P3 | CC: | olaf |
| Version: | unspecified | ||
| Target Milestone: | 2.1.0.M02 | ||
| Hardware: | PC | ||
| OS: | Windows 7 | ||
| Whiteboard: | |||
|
Description
Brian
Assigned to upcoming milestone I won't implement this change. Here is why: While the blueprint spec indeed allows arbitrary qualified names for bean scopes, it has no specification regarding the semantics of additional scope. Specifically, it states: "Implementations can provide additional scope types. However, these types must only be allowed when a defining namespace is included in the definitions and is actually used in the definitions to specify the dependency on this feature." [1] In the case of gemini-blueprint, parsing of the <bean> declaration is delegated to the Spring framework's BeanDefinitionParserDelegate [2] which thus forms the implementation mentioned by the blueprint specification. I do not consider it practical to attempt to augment Spring's capabilities for this case, even though I agree that it would be best practice to resolve the namespace and prefix scope attributes with it. However, I also believe that 99.9% of any use case should well be feasible by declaring a <bean> element in the spring beans namespace (http://www.springframework.org/schema/beans -> http://www.springframework.org/schema/beans/spring-beans-4.3.xsd) in combination with a CustomScopeConfigurer [3]. Closing as won't fix. [1] https://osgi.org/download/r5/osgi.cmpn-5.0.0.pdf [2] https://docs.spring.io/spring/docs/4.3.x/javadoc-api/org/springframework/beans/factory/xml/BeanDefinitionParserDelegate.html [3] https://docs.spring.io/spring/docs/4.3.x/javadoc-api/org/springframework/beans/factory/config/CustomScopeConfigurer.html Released - closing. |