You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by "Greg Dritschler (JIRA)" <de...@tuscany.apache.org> on 2010/02/17 18:23:27 UTC

[jira] Updated: (TUSCANY-3466) Cannot stop component or its services and references if one of them fails to start

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

Greg Dritschler updated TUSCANY-3466:
-------------------------------------

    Description: 
CompositeActivator.start(Component) starts the component services, references, and the component itself via their providers.  If all of the providers complete successfully, it sets a flag in the component that it has started.

If one of the providers encounters a problem and throws an exception, then the 'started' flag in the component won't be set.  When CompositeActivator.stop(Component) is called, it first checks if the component 'started' flag is on.  If not, it returns without doing anything.  This means that providers that DID start successfully are not called to perform stop processing.  This leaves these providers in an incorrect state, and may prevent the provider from successfully starting subsequent times.

CompositeActivator.stop(Component) needs to handle the providers that were started and only skip those that weren't started.

  was:
CompositeActivator.start(Component) starts the component services, references, and the component itself via their providers.  If all of the providers complete successfully, it sets a flag in the component that it has started.

If one of the providers encounters a problem and throws an exception, then the 'started' flag in the component flag won't be set.  When CompositeActivator.stop(Component) is called, it first checks if the component 'started' flag is on.  If not, it returns without doing anything.  This means that providers that DID start successfully are not called to perform stop processing.  This leaves these providers in an incorrect state, and may prevent the provider from successfully starting subsequent times.

CompositeActivator.stop(Component) needs to handle the providers that were started and only skip those that weren't started.


> Cannot stop component or its services and references if one of them fails to start
> ----------------------------------------------------------------------------------
>
>                 Key: TUSCANY-3466
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-3466
>             Project: Tuscany
>          Issue Type: Bug
>    Affects Versions: Java-SCA-1.5
>            Reporter: Greg Dritschler
>            Priority: Minor
>
> CompositeActivator.start(Component) starts the component services, references, and the component itself via their providers.  If all of the providers complete successfully, it sets a flag in the component that it has started.
> If one of the providers encounters a problem and throws an exception, then the 'started' flag in the component won't be set.  When CompositeActivator.stop(Component) is called, it first checks if the component 'started' flag is on.  If not, it returns without doing anything.  This means that providers that DID start successfully are not called to perform stop processing.  This leaves these providers in an incorrect state, and may prevent the provider from successfully starting subsequent times.
> CompositeActivator.stop(Component) needs to handle the providers that were started and only skip those that weren't started.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Re: [jira] Updated: (TUSCANY-3466) Cannot stop component or its services and references if one of them fails to start

Posted by Raymond Feng <en...@gmail.com>.
This is interesting. It seems the lifecycle on component is too high in 
granularity. We might to have go down to the providers level for each 
endpoint/endpoint reference and implementation.

Thanks,
Raymond
--------------------------------------------------
From: "Greg Dritschler (JIRA)" <de...@tuscany.apache.org>
Sent: Wednesday, February 17, 2010 9:23 AM
To: <de...@tuscany.apache.org>
Subject: [jira] Updated: (TUSCANY-3466) Cannot stop component or its 
services and references if one of them fails to start

>
>     [ 
> https://issues.apache.org/jira/browse/TUSCANY-3466?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
>
> Greg Dritschler updated TUSCANY-3466:
> -------------------------------------
>
>    Description:
> CompositeActivator.start(Component) starts the component services, 
> references, and the component itself via their providers.  If all of the 
> providers complete successfully, it sets a flag in the component that it 
> has started.
>
> If one of the providers encounters a problem and throws an exception, then 
> the 'started' flag in the component won't be set.  When 
> CompositeActivator.stop(Component) is called, it first checks if the 
> component 'started' flag is on.  If not, it returns without doing 
> anything.  This means that providers that DID start successfully are not 
> called to perform stop processing.  This leaves these providers in an 
> incorrect state, and may prevent the provider from successfully starting 
> subsequent times.
>
> CompositeActivator.stop(Component) needs to handle the providers that were 
> started and only skip those that weren't started.
>
>  was:
> CompositeActivator.start(Component) starts the component services, 
> references, and the component itself via their providers.  If all of the 
> providers complete successfully, it sets a flag in the component that it 
> has started.
>
> If one of the providers encounters a problem and throws an exception, then 
> the 'started' flag in the component flag won't be set.  When 
> CompositeActivator.stop(Component) is called, it first checks if the 
> component 'started' flag is on.  If not, it returns without doing 
> anything.  This means that providers that DID start successfully are not 
> called to perform stop processing.  This leaves these providers in an 
> incorrect state, and may prevent the provider from successfully starting 
> subsequent times.
>
> CompositeActivator.stop(Component) needs to handle the providers that were 
> started and only skip those that weren't started.
>
>
>> Cannot stop component or its services and references if one of them fails 
>> to start
>> ----------------------------------------------------------------------------------
>>
>>                 Key: TUSCANY-3466
>>                 URL: https://issues.apache.org/jira/browse/TUSCANY-3466
>>             Project: Tuscany
>>          Issue Type: Bug
>>    Affects Versions: Java-SCA-1.5
>>            Reporter: Greg Dritschler
>>            Priority: Minor
>>
>> CompositeActivator.start(Component) starts the component services, 
>> references, and the component itself via their providers.  If all of the 
>> providers complete successfully, it sets a flag in the component that it 
>> has started.
>> If one of the providers encounters a problem and throws an exception, 
>> then the 'started' flag in the component won't be set.  When 
>> CompositeActivator.stop(Component) is called, it first checks if the 
>> component 'started' flag is on.  If not, it returns without doing 
>> anything.  This means that providers that DID start successfully are not 
>> called to perform stop processing.  This leaves these providers in an 
>> incorrect state, and may prevent the provider from successfully starting 
>> subsequent times.
>> CompositeActivator.stop(Component) needs to handle the providers that 
>> were started and only skip those that weren't started.
>
> -- 
> This message is automatically generated by JIRA.
> -
> You can reply to this email to add a comment to the issue online.
>