[
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.