All: Ok, it's happened. Our source code tree has grown, and our development cycle is now taking a while .... which is killing our productivity. I can't imagine we're the only shop that ends up with this cycle:
- Develop new code / tests / etc... (say, 10 mins - 30 mins) - Compile (say, 10 - 15 seconds) - Shutdown Tomcat (say, 2 seconds) - War (say, 30 - 45 seconds) - Deploy (say, 30 - 45 seconds) - Startup Tomcat (say, 10 - 20 seconds) - Wait on page to reload (say, 8 - 20 seconds) - Total deployment time: 90 - 145 seconds Assuming my team does this 20 - 24 times a day (probably closer to 2 - 4 times that number), we're watching the screen scroll by for about 30 - 45 minutes a day. Yikes! Like 10% of the day, swoosh, gone! Now, one possibility is certainly to upgrade the machines, which we can do to some extent. But what else can we reasonably do, with the software? We're using appfuse 1.9 with Spring MVC, Hibernate, and Postgresql ... deploying with JDK 1.6 (Sun), and Tomcat 5 (and 6, depending on the developer). Some thoughts we're throwing around, without moving away from AppFuse completely: - Hot reloads of Tomcat. I'm old-school and haven't played with this since Tomcat 4, where it only sometimes worked. And sometimes it completely hung. Is it better now? - Does Jetty give us anything new (I seem to recall reading that Jetty was not any faster than Tomcat)? - Migrate to AppFuse 2. I don't know that this gives us anything, other than integration with an IDE, but .... - Integrate with IDE or Eclipse, possibly using their internal Tomcat would make deployment faster? Any other ideas? What are you guys / gals doing to speed up development? -- Anthony