[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