cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Unico Hommes" <Un...@hippo.nl>
Subject RE: [Vote] Removing ComponentManagerProxy
Date Thu, 06 Nov 2003 13:03:06 GMT
 

> 
> -----Original Message-----
> From: Carsten Ziegeler [mailto:cziegeler@s-und-n.de] 
> Sent: donderdag 6 november 2003 13:31
> To: Avalon Developers List
> Cc: Cocoon-Dev
> 
> Volker found recently a hugh performance problem in the 
> current DefaultComponentFactory in Excalibur.
> 
> You can find more information here:
> http://marc.theaimsgroup.com/?t=106779872700001&r=1&w=2
> 
> http://marc.theaimsgroup.com/?t=106802136600002&r=1&w=2
> 
> I propose to remove the ComponentManagerProxy as this is
> a) a performance killer and b) not soo useful as it might look.
> 
> In some situations the ComponentManagerProxy is able to 
> release components that the developer has forgotten to 
> release - but only in some cases. As the general rule when 
> using excalibur is, to always release components, removing 
> the ComponentManagerProxy doesn't do any harm, but provides 
> greater performance.
> 
> Please cast your votes:
> 

I thought this proxy was needed for migration from component to service
package? So that users can create services without having to implement
Component and then still be able to use them via ECM.

class MyService {
  void doIt() {}
}

class Client implements Composable, Disposeable {
  
  void makeItDoIt() {
    my = m_manager.lookup("MyService");
    my.doIt();
    // we know it's a proxy, 
    // the proxy makes the service implement Component,
    // the cast is needed in order for the code to compile
    m_manager.release((Component) my);
  }
}

Wouldn't the proposed change break the above code?

-- Unico

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

Mime
View raw message