Hi Peter, There is a RFE to support caching control directly in the Restlet API:
"Support caching HTTP headers" http://restlet.tigris.org/issues/show_bug.cgi?id=213 Otherwise, there is a "timeToLive" parameter on local connectors such as CLAP, FILE: http://www.restlet.org/documentation/snapshot/engine/org/restlet/engine/loca l/LocalClientHelper.html By default the value is 600 second but due to a bug, it wasn't applied to the CLAP representations' expiration date. I've fixed this in SVN trunk and 1.1 branch. Let me know if it works for you! Best regards, Jerome Louvel -- Restlet ~ Founder and Lead developer ~ http://www.restlet.org Noelios Technologies ~ Co-founder ~ http://www.noelios.com -----Message d'origine----- De : news [mailto:n...@ger.gmane.org] De la part de Peter Becker Envoyé : lundi 23 février 2009 01:07 À : discuss@restlet.tigris.org Objet : Re: Time to live for classpath references Thanks, I'll try that -- at least you saved me from finding the hack myself :-) Is there an RFE to vote upon? I think controlling the caches can be quite important, especially if you have lots of small objects. I'd personally even go as far as having a parameter on the constructor of directory that toggles infinite caching. If the resource is truly static with a URI encoding its revision, then you will never need the cache expiry. Peter Rob Heittman wrote: > We still do this: > > http://gogoego.googlecode.com/svn/trunk/modules/com.solertium.util.restlet/s rc/com/solertium/util/restlet/ClapCacheDirectory.java > > If there's a better way, I'd love to adopt it too. > > On Thu, Feb 19, 2009 at 11:29 PM, Peter Becker > <pbec...@itee.uq.edu.au> > wrote: >> Hello, >> >> I'm using the CLAP protocol to get static content such as JavaScript >> delivered. I'd like to have those expire way down in the future since >> I use URLs that encode the file version and some of the JS libraries >> I use create quite a few hits to the server. I'm using Restlet 1.1.2 >> with the Restlet engine. >> >> I've tried a number of things, but nothing seems to work. What I am >> currently doing is this: >> >> public static void main(String[] args) throws Exception { >> Component component = new Component(); >> component.getServers().add(Protocol.HTTP, >> configuration.getHttpPort()); >> component.getClients().add(Protocol.CLAP).getContext().getParameters().add(" timeToLive","604800"); >> >> component.getDefaultHost().attach(new Pronto()); >> >> component.start(); >> } >> >> and in createRoot() I have a Router to which I attach a directory >> like >> this: >> >> router.attach("/javascript", >> new Directory(getContext(), >> LocalReference.createClapReference(LocalReference.CLAP_THREAD, >> "/javascript"))); >> >> I can't see any relevant header in the responses, though -- somehow >> setting the parameter doesn't seem to have any impact. Am I missing >> something? >> >> BTW: the "Server" header says "Noelios-Restlet-Engine/1.1..2", which >> I suppose has a dot too many. >> >> Regards, >> Peter >> >> ------------------------------------------------------ >> http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=11963 39 >> > > ------------------------------------------------------ > http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=11982 52 ------------------------------------------------------ http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=12116 67 ------------------------------------------------------ http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=1245414