This is a followup to a recent post to this group.
The snippet below imports a page and stores it into variable x if variable x
is more than 5 five minutes old. This makes the page load fast for the
great majority of hits.
However, if traffic to the site is slow, let's say a steady one hit every 6
minutes, then each surfer experiences a very slow response time as the site
goes through the slow c:import routine to load x before showing the page.
Meanwhile, my webserver is sitting idle for the remaining time between hits.
Is there a tag or other technique one can use to instruct the webserver to
keeps variable x up-to-date (ie, not more than 5 minutes old) in the
background without waiting for a hit before noticing the variable is stale?
Brian
-----------------------------------------
<c:set var="cachePeriod" value="${5 * 60 * 1000}" />
<jsp:useBean id="n" class="java.util.Date" />
<c:if test="${(n.time - cacheTime) > cachePeriod}">
<c:remove var="x" scope="application" />
</c:if>
<c:if test="${empty applicationScope.x}">
<c:set var="x" scope="application" >
<c:import url="channel.jsp">
<c:param name="rssUrl" value="http://www.slowurl.rss" />
</c:import>
</c:set>
<jsp:useBean id="now" class="java.util.Date" />
<c:set var="cacheTime" value="${now.time}" scope="application" />
</c:if>
<c:out value="${applicationScope.x}" escapeXml="false" />
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>