Hi! I have finished implementing the Struts2 plugin for JRebel, the JVM agent that enables dynamic class reloading for the Java platform. The plugin is basically responsible for reloading the Struts2 action mappings when the XML configuration files have changed or when the action classes that define mappings through annotations are added/reloaded. Together with class reloading, this should provide support for Struts2 webapp development without nearly no redeploys. The details are covered here:
http://www.zeroturnaround.com/jrebel/plugins/jrebel-struts2-plugin/ I just thought maybe someone of you has interest/enthusiasm to check it out prior to the official release. The new version of the Struts2 plugin is included with the nightly build, available at http://www.zeroturnaround.com/jrebel/download/ (be sure to select the nightly!). Some things I'm concerned about myself: - As the configuration reloading is done quite naively (i.e., quite eagerly and actually more often than would be really required), I wonder how annoying can it get for bigger webapps. If the reloading of action-mappings would be already something like 5 secs, then probably I should re-implement it in a more sophisticated way. The biggest Struts2-app in my hand is your Showcase demo-app, and the reloading is far less than a second for that, which is acceptable (but how much worse could it get for bigger apps..?) - As i'm really not a Struts2 developer, I'm not very familiar with all the other configuration issues and might have overlooked something.. are action-mappings actually the only piece of configuration that gets loaded once on application deployment? Or are there others like that, that would also need my plugin to force Struts2 to reload them if the developer wants to edit them and see the effect without redeploying his app. I'd be really happy to receive any kind of feedback :) PS. btw, ZT offers free JRebel licenses for OSS devs... Cheers, Sander