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