You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@aries.apache.org by "Alasdair Nottingham (JIRA)" <ji...@apache.org> on 2011/07/23 14:35:09 UTC

[jira] [Resolved] (ARIES-677) Service references released before bean destroy methods execute during namespace handler unregister

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

Alasdair Nottingham resolved ARIES-677.
---------------------------------------

    Resolution: Fixed

> Service references released before bean destroy methods execute during namespace handler unregister
> ---------------------------------------------------------------------------------------------------
>
>                 Key: ARIES-677
>                 URL: https://issues.apache.org/jira/browse/ARIES-677
>             Project: Aries
>          Issue Type: Bug
>          Components: Blueprint
>    Affects Versions: 0.3
>            Reporter: Craig Muchinsky
>            Assignee: Alasdair Nottingham
>            Priority: Minor
>
> This issue is similar to ARIES-612, except the incorrect cleanup ordering is within the BlueprintContainerImpl class namespaceHandlerUnregistered() method instead of destroy().

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

        

Re: [jira] [Resolved] (ARIES-677) Service references released before bean destroy methods execute during namespace handler unregister

Posted by Alasdair Nottingham <no...@apache.org>.
Hi,

In fact it turns out that destroyComponents destroys beans, services and references in the correct order. 

If you want to fix this issue you need to use reference listeners and tidy up in the unbind method.

Alasdair Nottingham

On 24 Jul 2011, at 09:46, Mark Nuttall <mn...@apache.org> wrote:

> FYI, We've had a customer run into this problem and, in using this patch,
> discover that it's still not safe to use injected service references in a
> destroy-method. During application stop, the bundle that provided the
> injected service may all ready have been stopped. Due to the possibility of
> circular references between bundles, this is a hard problem. We could _try_
> to stop bundles in reverse dependency order but I still don't think we'd
> have a general solution.
> 
> -- Mark
> 
> On 23 July 2011 13:35, Alasdair Nottingham (JIRA) <ji...@apache.org> wrote:
> 
>> 
>>    [
>> https://issues.apache.org/jira/browse/ARIES-677?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel]
>> 
>> Alasdair Nottingham resolved ARIES-677.
>> ---------------------------------------
>> 
>>   Resolution: Fixed
>> 
>>> Service references released before bean destroy methods execute during
>> namespace handler unregister
>>> 
>> ---------------------------------------------------------------------------------------------------
>>> 
>>>                Key: ARIES-677
>>>                URL: https://issues.apache.org/jira/browse/ARIES-677
>>>            Project: Aries
>>>         Issue Type: Bug
>>>         Components: Blueprint
>>>   Affects Versions: 0.3
>>>           Reporter: Craig Muchinsky
>>>           Assignee: Alasdair Nottingham
>>>           Priority: Minor
>>> 
>>> This issue is similar to ARIES-612, except the incorrect cleanup ordering
>> is within the BlueprintContainerImpl class namespaceHandlerUnregistered()
>> method instead of destroy().
>> 
>> --
>> This message is automatically generated by JIRA.
>> For more information on JIRA, see: http://www.atlassian.com/software/jira
>> 
>> 
>> 

Re: [jira] [Resolved] (ARIES-677) Service references released before bean destroy methods execute during namespace handler unregister

Posted by Mark Nuttall <mn...@apache.org>.
FYI, We've had a customer run into this problem and, in using this patch,
discover that it's still not safe to use injected service references in a
destroy-method. During application stop, the bundle that provided the
injected service may all ready have been stopped. Due to the possibility of
circular references between bundles, this is a hard problem. We could _try_
to stop bundles in reverse dependency order but I still don't think we'd
have a general solution.

-- Mark

On 23 July 2011 13:35, Alasdair Nottingham (JIRA) <ji...@apache.org> wrote:

>
>     [
> https://issues.apache.org/jira/browse/ARIES-677?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel]
>
> Alasdair Nottingham resolved ARIES-677.
> ---------------------------------------
>
>    Resolution: Fixed
>
> > Service references released before bean destroy methods execute during
> namespace handler unregister
> >
> ---------------------------------------------------------------------------------------------------
> >
> >                 Key: ARIES-677
> >                 URL: https://issues.apache.org/jira/browse/ARIES-677
> >             Project: Aries
> >          Issue Type: Bug
> >          Components: Blueprint
> >    Affects Versions: 0.3
> >            Reporter: Craig Muchinsky
> >            Assignee: Alasdair Nottingham
> >            Priority: Minor
> >
> > This issue is similar to ARIES-612, except the incorrect cleanup ordering
> is within the BlueprintContainerImpl class namespaceHandlerUnregistered()
> method instead of destroy().
>
> --
> This message is automatically generated by JIRA.
> For more information on JIRA, see: http://www.atlassian.com/software/jira
>
>
>