RE: [picocontainer-dev] Redeployment of components

Jörg Schaible <[email protected]>
Newsgroups gmane.comp.java.picocontainer.devel
Message-ID <[email protected]>
Hi Rickard,

Rickard Öberg wrote on Monday, February 20, 2006 11:12 AM:

> Hi!
> 
> I have a situation that I'd like to check with you guys on
> how to best
> handle.
> 
> We have reached a point where we during development need to
> be able to
> start the system, load all the components, and then be able
> to redeploy
> one or more as they are coded. Restarting the entire system
> just because
> one component has changed is not an option, since the total
> startup time
> is about a minute right now, which is devastating for the development
> cycle. My approach right now is to use the Nano Deployer to implement
> a plugin system, which I have updated to support undeployment and
> redeployment.  That works well.
> 
> However, the main trick is classloading. Each component
> consists of two
> parts: the API/interface and the implementation. Since the API of a
> component cannot be redeployed, as all other components would
> then have
> to be redeployed as well if they use classes from the API, it
> seems like
> the best way to do it is to split each component into two separate
> deployments: one with the API and one with the implementation. During
> development one would then only redeploy the implementation.
> If the API
> changes the entire system has to be restarted, but that's ok.
> 
> Has anyone else done something similar? Since the Nano
> Deployer cannot
> currently handle un/redeployment I suppose everyone else had
> to make the
> same hacks I did (which I'll submit as a patch once they are tested).
> Are there any other plans to make something like this part of
> Pico/Nano? 

MicroContainer is supposed to support that scenario (once). Said that, I cannot find any un/redeployment functionality in its codebase either ;-)

So any improvement for a un/redeployment scenario is highly welcome (deployer or microcontainer).

- Jörg
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.