Hi guys, We've just finished our first wicket app using wicket 1.4.17. Everything works well, but we get a lot of resource requests for resource that rarely change. I've read a few blogs on the subject, and this one is the closest to what I want to do, however it's not quite right.
http://techblog.molindo.at/2008/08/wicket-interface-speed-up-caching-resources-forever.html This explicitly calls the code to wrap the resource, I don't want our developers to have to do this. We have several templates that use wicket's autolinking feature, so I would like them to be able to use it as well. Here's what I currently have. A Custom resource loader that is simply a wrapper and delegates to WebApplicationPath for resource loading. Once the resource is loaded, if it ends in .js, .css, or .png an SHA sum is calculated on the file contents. I then want to create a mount path in the format of <original file>_sha256.<original extension> I also then need to wrap the created resource with an expiration time of now + 1 month. This way, our images can be cached completely on the client. In the event the file changes, the sha256 sum will change, and hence so will the file name's url, forcing the client to re-download the new content. Any thoughts on how I can do this? I'd prefer to only do it once the first time the resource is loaded, but I can only seem to override the ResourceFinder using the above logic, which does not give me access to the created ResourceReference itself with wicket expiration and other properties. I thought about using a listener, but this requires the mapping to happen with each request, which seems very inefficient since it will only change at deploy time. Any help would be greatly appreciated, I'm at a bit of a loss on this one. Thanks, Todd