avalon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Leif Mortenson <leifli...@tanukisoftware.com>
Subject Re: [Fortress] Proposed algorithm to fix shutdown order when using a roles file. (Was [VOTE] Is Fortress Good Enough )
Date Fri, 30 May 2003 17:53:51 GMT
Berin Loritsch wrote:

> So what you are saying is to build the dependency list at run time? 

Yes, That is the only way I could think of other than using that 
counting method
we had implemented for the ECM.

By building up a dependency list at runtime, it will allow for the 
of an optimal shutdown order that is not dependent on whether or not the
user code correctly releases components.

If we called the Vertex.resolveOrder() method whenever a new
dependency was discovered, this would even make it possible to
throw an exception when a circular dependency is encountered.
Currently, Fortress will look through the circular dependency list,
recursively trying to initialize the components until you finally get an
OutOfMemoryException.  I found out about that the hard way.  This
is only a problem if the roles file is used, If meta data is used, then
circular dependencies are correctly detected.

> I like that idea, but we should log any dependency that is found at run
> time so that we can account for missed dependencies even if the user is
> using meta-info. 

Great, I am glad you like it.
The question then is: when should this get fixed?  I also want to get
Fortress out the door.  But the majority of our users are still using roles
files so I think it would be worth fixing the shutdown problems before
the release.   Unfortunately, I have a long list of deadlines next week, so
I can't promise to be the one to implement this.  If you know where to
to implement it, I don't think it should take all that much code to get this
implemented though.  Without more time digging though, I am not yet sure
where exactly in the code the ThreadLocal code should go.


To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
For additional commands, e-mail: dev-help@avalon.apache.org

View raw message