Loading/unloading of modules is tricky. It's something an application server can do, but not necessarily an application framework like Tapestry.
Notice the leaky abstractions around components, to support reloading (and transformation) of them. The reloading requires a special class loader, and that makes the component classes incompatible with service layers that don't use the special class loader. Once you get into the IoC layer, with contributions and decorations and services building services etc., etc. ... well, it gets much more complex. Managing the life cycle of the services and other objects becomes overly intrusive (i.e., you aren't allowed to use new anymore) and that's really bad. The IoC code is, by design, incestuous, with objects flowing about and connecting in ways that are both unpredictable and opaque to the container (the Registry). I'm not content with a solution where a "live change" results in a operational set that is anything but indistinguishable from a full restart. On top of this, Tapestry is a servlet application and servlets have their own framework for redeployment. The bad part of redeployment is the loss of HttpSession data, but other than that, its quite reasonable. A couple of seconds for Tapestry to re-initialize, a few more seconds for Hibernate, and your app is back in business. I suppose anything is possible, but effort vs. benefit is the real question, and I'd rather absorb those few seconds a redeployment requires, rather than add instability and unpredictability to the Tapestry runtime environment. On Mon, May 5, 2008 at 12:59 AM, Michael Gerzabek <[EMAIL PROTECTED]> wrote: > Interesting, espscially https://issues.apache.org/jira/browse/TAPESTRY-1904 > and https://issues.apache.org/jira/browse/TAPESTRY-1679. > > I've another question. Do you think there's a need for loading/ unloading > modules? This would add a very powerful feature the Java world does leak in > comparison to php. Think of WordPress or drupal. There you can add modules > to your installation, activate (load) them, uninstall (unload) them and > everything is neatly integrated into the GUI. I think some apps also allow > for autodetection of new module versions. > > I researched T5 a little and found that from many points (UI, Services, > Configuration) it should be able to make modules loadable. But I'm an T5-IoC > beginner and know far to less to get my hands dirty now. Though from user > perspective I would love to see this. Dreammode: Have eclipse/ OSGi like T5 > where I can drop a jar file and the next time I log into the admin area > everything is loaded, could be configured and activated. > > My basic questions here are > ALL: i.) Would it be of benefit to make modules loadable (deployable, > etc.)? > HLS/ ALL: ii.) Where would I have to look into to get things on go? > > Michael > > Howard Lewis Ship schrieb: > > > > You can see that there are a few issues in JIRA to make the IoC stuff > > (even) more refactoring-safe. > > > > On Sun, May 4, 2008 at 11:06 PM, Michael Gerzabek > > <[EMAIL PROTECTED]> wrote: > > > > > > > Thank you Howard, > > > > > > It was a typo after a refactoring (DatabaseManager |-> > > > DatabaseUpdateManager). I didn't check the update textual occurences in > > > eclipse. > > > > > > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- Howard M. Lewis Ship Creator Apache Tapestry and Apache HiveMind --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]