You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avalon.apache.org by "Niclas Hedhman (JIRA)" <de...@avalon.apache.org> on 2004/11/13 03:16:41 UTC

[jira] Resolved: (RUNTIME-32) Transient objects already released are disposed again in Merlin shutdown

     [ http://nagoya.apache.org/jira/browse/RUNTIME-32?page=history ]
     
Niclas Hedhman resolved RUNTIME-32:
-----------------------------------

    Resolution: Won't Fix

Avalon is shutting down.
Come to the Metro project for further support. http://www.dpml.net

> Transient objects already released are disposed again in Merlin shutdown
> ------------------------------------------------------------------------
>
>          Key: RUNTIME-32
>          URL: http://nagoya.apache.org/jira/browse/RUNTIME-32
>      Project: Merlin Runtime
>         Type: Bug
>     Versions: 3.3.0
>  Environment: Probably all (tested with WinXP SP1, j2sdk 1.4.2_04 and Cygwin 1.5.10-3)
>     Reporter: syvalta
>     Assignee: Stephen McConnell

>
> 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)
> --------------------------------------------------------------------------------

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://nagoya.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