[picocontainer-dev] Redeployment of components

Rickard Öberg <[email protected]>
Newsgroups gmane.comp.java.picocontainer.devel
Organization Senselogic
Message-ID <[email protected]>
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?

regards,
   Rickard

-- 
Rickard Öberg
[email protected]
@work +46-(0)19-173036
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.