I have a number of war projects deployed in a single tomcat 5.5 container. They consume each other\'s services through http, and thus I need to make sure that, when Tomcat
Don't listen to "Frankly Speaking" and "Re-Structure", they're obviously working in an environment where they are in full control. I work on a massively distributed system, we have web applications scattered on hundreds of machines, some of these web applications are from other vendors so I can't "Re-structure".
In order for many services to start up, they need to talk to other services to get configuration information. If that service is not there, the new service can't start. In production, there are things that are really never down (load balanced, HA, etc), but when I need to get a dev environment set up on my laptop, I run into this problem.
The easiest solution I found was to name my webapps alphabetically in the order they are to start (or add an extra letter to the beginning of the webapp if you want the webapp name to be reasonable similar to your production webapps).
You can also use multiple Tomcat installations (organize your webapps and start the Tomcat instances in the proper sequence), but that's a lot of overhead.
A final option would be to use your startup script to deploy your .war files in the appropriate order (with enough sleep time in between to make it work).