You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avalon.apache.org by ji...@apache.org on 2004/06/11 15:06:10 UTC
[jira] Commented: (RUNTIME-32) Transient objects already released are disposed again in Merlin shutdown
The following comment has been added to this issue:
Author: syvalta
Created: Fri, 11 Jun 2004 6:04 AM
Body:
One additional note (not sure if this is a bug or intentional feature): It seems that a component can be released multiple times without errors/warnings showing in the log.
---------------------------------------------------------------------
View this comment:
http://issues.apache.org/jira/browse/RUNTIME-32?page=comments#action_36032
---------------------------------------------------------------------
View the issue:
http://issues.apache.org/jira/browse/RUNTIME-32
Here is an overview of the issue:
---------------------------------------------------------------------
Key: RUNTIME-32
Summary: Transient objects already released are disposed again in Merlin shutdown
Type: Bug
Status: Open
Priority: Major
Project: Merlin Runtime Platform
Versions:
3.3.0
Assignee: Stephen McConnell
Reporter: syvalta
Created: Fri, 11 Jun 2004 5:46 AM
Updated: Fri, 11 Jun 2004 6:04 AM
Environment: Probably all (tested with WinXP SP1, j2sdk 1.4.2_04 and Cygwin 1.5.10-3)
Description:
If multiple transient objects are got by singleton component and released, they are disposed again in server shutdown.
void processSomething() {
Foo foo = (Foo) m_manager.lookup(Foo.class.getName());
foo.doSomething();
m_manager.release(foo);
}
And if in FooImpl's dispose() we throw exception in case it is disposed more than once, it results in following:
[WARN ] (test.foo.lifecycle): Ignoring component source disposal error.
---- runtime exception report --------------------------------------------------
Exception: java.lang.IllegalStateException
Message: Already disposed
---- stack trace ---------------------------------------------------------------
java.lang.IllegalStateException: Already disposed
test.FooImpl.dispose(FooImpl.java:35)
org.apache.avalon.framework.container.ContainerUtil.dispose(ContainerUtil.java:306)
org.apache.avalon.activation.impl.DefaultComponentFactory.etherialize(DefaultComponentFactory.java:216)
org.apache.avalon.activation.impl.AbstractLifestyleManager.finalize(AbstractLifestyleManager.java:160)
org.apache.avalon.activation.impl.TransientLifestyleManager.decommission(TransientLifestyleManager.java:83)
org.apache.avalon.activation.impl.DefaultAppliance.decommission(DefaultAppliance.java:114)
org.apache.avalon.activation.impl.DefaultRuntime.decommission(DefaultRuntime.java:97)
org.apache.avalon.composition.model.impl.DefaultSystemContext.decommission(DefaultSystemContext.java:373)
org.apache.avalon.composition.model.impl.DefaultDeploymentModel.decommission(DefaultDeploymentModel.java:131)
org.apache.avalon.composition.model.impl.DefaultContainmentModel.decommission(DefaultContainmentModel.java:275)
org.apache.avalon.composition.model.impl.DefaultContainmentModel.decommission(DefaultContainmentModel.java:275)
org.apache.avalon.merlin.impl.DefaultKernel.shutdown(DefaultKernel.java:233)
org.apache.avalon.merlin.impl.DefaultFactory$1.run(DefaultFactory.java:847)
--------------------------------------------------------------------------------
---------------------------------------------------------------------
JIRA INFORMATION:
This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
If you want more information on JIRA, or have a bug to report see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
For additional commands, e-mail: dev-help@avalon.apache.org