[prev in list] [next in list] [prev in thread] [next in thread]
List: taglibs-user
Subject: More periodic refresh with JSTL c:import
From: "Brian Buckley" <briankbuckley () attbi ! com>
Date: 2002-12-23 17:58:23
[Download RAW message or body]
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:taglibs-user-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:taglibs-user-help@jakarta.apache.org>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic