I have a fairly large application that I am maintaining right now. I am running over 100 web apps on my server, and It can cause some serious memory issues. With tapestry version 3.0.x I was able to tweak the code by making some of the caches static so that the component specifications and other resources could be shared across web apps. Then I would deploy the tapestry libraries as shared jar files. This worked perfectly and SIGNIFICANTLY reduced memory usage!!! Not only did it reduce memory issues, It also performed much more efficiently, as it did not have to go through the process of parsing page specs and component specs and class enhancements. This process would often cause my server to lockup.
I am currently having the same issues with tapestry 4.0. The code has changed dramatically since 3.0.x and I'm having the same trouble I had with 3.0.x. These web applications are completely identical with the exception of pointing to a different database. It should be reasonable to share resources between all of these web applications. My question is this: Is there a simple procedure that I can use to share the tapestry jars and tapestry resources (component specifications and page specifications) across multiple web apps, or am I stuck with manipulating the code and figuring this out on my own? Also, does any one else have a similar problem? I understand the need to keep resources separate, but for applications like mine, this is completely unacceptable. I am very interested in anybodys opinions and suggestions.
