avalon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paul Hammant <paul_hamm...@yahoo.com>
Subject Re: Mutually dependant blocks / classload problem
Date Sun, 22 Jul 2001 19:10:16 GMT

> In older versions of phoenix this used to be true. In newer versions the 
> whole .sar is kept in one ClassLoader. The main reason for this change is 
> that I wanted to match the .war approach as closely as possible because then 
> skills in one should be transferable to another. The .war approach also has a 
> lot more knowledge put into it that we can ... errr borrow ;)

> > Is there a way, given the interface/implementation nature of these non core
> > blocks, to specify two mutually dependant blocks, in such a way that there
> > will not be a classloading error?
> As long as they are in the same .sar they should be fine ... however it is 
> probably best not to have them mutually dependent. The reason is that the 
> work interface should never be exposed until after the block has 
> initialized/started. In fact I thought I made it so that the DAG threw an 
> exception if it found circular dependencies (though I may have taken that 
> out).

Well your code probably still works.  It's not two <depends> elements (that would be
It is one <depends> then a good old fashioned "callback" 
WindowManager.setDesktopKernel(DesktopKernel dk).  You can't test for that ;-)  But I have
feeling it may break in the future.  I was kinda looking for a kosher way.  I am doing doing
fair amout of refactoring at the moment and I was thinking there must be some third "broker"
could both be dependant on...... that's smelly too .... unless someone can say otherwise.

Regards - Paul H
CVS -1, Perforce +1

Do You Yahoo!?
Get your free @yahoo.co.uk address at http://mail.yahoo.co.uk
or your free @yahoo.ie address at http://mail.yahoo.ie

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

View raw message