I guess I'm kind of biased. I first became interested in Java web frameworks just over two years ago after I learned about servlets. When I decided to form my company and begin developing a webapp I knew I was going to use a Java web technology. I also wanted to keep my development stack open-sourced. Right now we're using Maven, Hibernate, Spring 3 (and many child technologies such as spring social, spring security, and spring web flow), Tomcat 7 as the app-server. We have a few interdependent multi-module maven projects and are about 13 months in. We are just getting to the spring 3 stuff and I realized I am not even sure if spring 3 is the right choice.
This application is intended to be used by (ultimately) hundreds of thousands of concurrent users (or maybe even much more). The operations are not complex - lots of db queries, some graph stuff. We intend to use some ajax and fancy javascript. This app is going to be driven viral so we need a framework that is robust.
Is spring 3 a good choice for this? If yes, why? If no - same question. From my research I've learned that spring 3 may be better for "more complex" web applications rather than high-traffic ones (which needless to say worried me a little bit). Is Tomcat 7 an appropriate app-server for this type of project, or would I benefit more from another?
Please provide a concise yet informative explanation with your answer.
Thank you,