My computer has a Core Duo at 2.2 Ghz with 3Gb RAM and lots of free hard disk space. I have a Seam 2.0.2 project with around 25 entities, and around 100 pages, and it takes around 1.5 to 2.5 minutes to launch (from Eclipse Europa + JBoss Tools 2.1.1) and sometimes it takes much more (because Seam EL validators are extreamly slow, so if I don't cancel them manually (clicking the little red buttons) they take forever to run)
Cold Launch (running the project in the morning, after a
clean all projects from eclipse , without anything previously copied in \server\default\deploy, and without interrupting the validators can take 5 or even 7 minutes)
At the begining, it was a little faster reflecting changes (I think it was because of the support for Seam and incremental hot deployment in WEB-INF/dev) but, a week later, when I had to checkout my project from other machine (from s svn repository) WEB-INF/dev just wasn't there (of course I didn't uploaded it in to the repository, I think that shouldn't be versioned?... should it? how can I re-enable it?
Now, with WEB-INF/dev re-enabled (please tell me how), and if we ignore the slow execution of the validators in eclipse (after all we can cancel or disable them) I think most of the time is used initializing the JPA(Hibernate) entities (and that is still taking around 1.5 to 2.0 minutes).
What can be done to make them faster? I have been playing with the idea of using Groovy to reduce re-deployment time... but I think that may the wrong way to attack this problem, after all, the EntityManagerFactory would need to re-read the annotation configuration to be able to deal with the changes, and using Groovy won't help me with that... or will it?
What could be done? Are there plans to integrate Seam with Groovy GORM AFAIK it is able to dynamically reload partial changes on its persistence mapping configuration... Am I right? Is there a way to make Seam compatible with that?
What other options do we have? Perhaps Jboss should just buy JavaRebel ZeroTurnaround, Opensource it and and integrate it with JBoss and Hibernate? ;-)
How do people in this forum feel about the time that takes to redeploy stuff while developing? Where I work, there are other teams woking with, for example, PHP, or even with legacy Pre-Model 2 JSP architecture (just stuff everything in the .jsp file) and when they see the time it takes to see a change reflected on a page, they just wonder why I like to waste such a big amount of time. (Don't get me wrong, I understand the architectural advantages of Seam over Pre-Model 2 JSP architecture but it is really hard to argue about the advantages when their changes are reflected 0.5 seconds, and mine take 2 minutes)