You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@aries.apache.org by "Brian DePradine (JIRA)" <ji...@apache.org> on 2011/05/20 18:52:47 UTC

[jira] [Updated] (ARIES-657) Enhanced support for custom scopes

     [ 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