cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sylvain Wallez <>
Subject Re: [RT] polymorphism and hotswapping
Date Wed, 14 Apr 2004 10:24:28 GMT
Bertrand Delacretaz wrote:

> Le 14 avr. 04, à 11:55, Sylvain Wallez a écrit :
>> ...Blocks are running inside the same VM and although a wiring can 
>> switch, it cannot suddenly disappear. And we can find a lot of 
>> strategies to make this transparent to client code (including my idea 
>> of deferring actual switch which strangely had no feedback)....
> Deferring, does that mean keeping the "old" block around as long as 
> it's in use, while the "new" block is used by clients that have 
> recently started using it?

Exactly! This solves most (if not all) problems related to statefull 
components, since the user would be guaranteed to use the same component 
between lookup and release [1].

> If yes, this is (AFAIK) exactly what unix/linux has been doing for 
> ages with executables:  you can replace an executable that is already 
> running, and processes which are already running keep using the old 
> version.
> It works very well combined with "kill" to cleanup old processes and 
> restart them with the new version, so maybe in the case of blocks some 
> kind of "kill" and "ps" equivalents would be needed to make this work 
> well.

Very good comparison, as I suggested their should be a means to force 
old blocks to garbage if ever some client code "forgets" to release them 



Sylvain Wallez                                  Anyware Technologies 
{ XML, Java, Cocoon, OpenSource }*{ Training, Consulting, Projects }

View raw message