[ 
https://issues.apache.org/jira/browse/ARIES-657?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Brian DePradine updated ARIES-657:
----------------------------------

    Attachment: patch.txt

Patch that addresses the issues described previously.

> Enhanced support for custom scopes
> ----------------------------------
>
>                 Key: ARIES-657
>                 URL: https://issues.apache.org/jira/browse/ARIES-657
>             Project: Aries
>          Issue Type: Improvement
>          Components: Blueprint
>            Reporter: Brian DePradine
>         Attachments: patch.txt
>
>
> I am currently working on a project that requires the use of a custom scope 
> as follows:
> <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0";
>            xmlns:test="http://test.org";>
>     <bean id="fooService" class="fooServiceImpl" scope="test:foo"/>
> </blueprint>
> In order to support my custom scope, I provide a NamespaceHandler whose job 
> it is to register a BeanProcessor that implements the caching required by my 
> custom scope. This then allows the cached instances to be retried using 
> BlueprintContainer.getComponentInstance(). When I tried to get this working, 
> however, I discovered a few issues.
> 1) Aries treats all scopes as strings, and as a result the scope from the 
> example above is "test:foo". This is incorrect, as custom scopes are always 
> qualified names, and so the correct value for the scope is 
> "{http://test.org}foo";.
> 2) All beans that do not have a scope of "prototype" are automatically cached 
> by the blueprint container. This means that my bean processor is only ever 
> called the first time that the bean is requested. My bean processor is unable 
> to do its job unless it is called everytime that a request for the bean is 
> made.
> 3) Eager activation doesn't make sense for a custom scope, as it should only 
> apply to 'singleton' scopes.
> Patch to follow.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to