Thank you Remi, especially for your quick response. You've largely answered my question, but now I have an issue with scalability - I have had a very similar problem recently with a project I did for a client - first thing they did was install two different web servers (i.e. physical machines) using the same repository. Although I was only caching schema/security info rather than content - they immediately queried why changes made to one were not reflected in the other (until a restart). I added an option for an administrator to reload the cache (via a web page), which was fine for them, because changes were rare. Obviously this techinique is of little use when we're dealing with user content.
This is something of a show-stopper for me. You mention you have lots of ideas - any more info? Can I help? Thanks & Regards, Andy Scholz Remy Maucherat wrote: >>The problem I have is that I am using one of the Slide api sample files >>(version.java) to create some arbitrary folders using the same store >>(same domain.xml file). This works OK, but after the new folders have >>been created, when I go back to my webdav client (or browser) & do a >>refresh, the new folders dont appear unless I stop/restart the Tomcat >>server - after which a PROPFIND or GET returns the new info OK. >> >If the two applications (here, your application, and the webdav servlet) are >not in the same VM, then it's (unfortunately) normal with the current >architecture. > >The cache is located in the layer just above mySQL, but never attempts to >revalidate its entries, unless it has a good reason to do so (for example, >if you modify something through the API). This was the only easy way to get >decent performance, since PROPFINDs are extremely hard on the backend (you >can check the number of operations required when doing one on a large >resource set). I have a lot of ideas to help solve these problems, but this >will take some time. > >The easiest way to avoid the problem would be to repackage a bit the >application. Either: >- write a custom loader for Tomcat and your application to be able to run >them in the same VM >- use a controller servlet to run your application > >Remy >
