Hello,
I had a problem with slow loading of pages and response to ajax requests.
After some debugging I traced the problem to be that wicket constantly
tries: 

DEBUG - UrlResourceStream          - cannot convert url:
jar:file:/C:/Users/hok/.m2/repository/org/apache/wicket/wicket/1.5-M3/wicket-1.5-M3.jar!/org/apache/wicket/markup/html/wicket-event.js
to file (URI is not hierarchical), falling back to the inputstream for
polling
DEBUG - ResourceStreamLocator      - Attempting to locate resource
'org/apache/wicket/markup/html/wicket-event_en_US.js' on path [folders = [],
webapppaths: []]
DEBUG - ResourceStreamLocator      - Attempting to locate resource
'org/apache/wicket/markup/html/wicket-event_en_US.js' using classloader
sun.misc.launcher$appclassloa...@cac268

and this happens because that by default (or at least I think so) wicket
adds timestamp on the resources -
ResourceSettings.setUseTimestampOnResources(true) and every resource is read
from the jar files on every request. When a resource is in a jar file a
java.lang.IllegalArgumentException: URI is not hierarchical is thrown in the
UrlResourceStream constructor and a lot of attempts are made to load the jar
file through different loaders. In my case this led to a slow response
times.
After disabling timestamp on resources
(ResourceSettings.setUseTimestampOnResources(false)) the problem disappears
and the performance is fine. However in the javadoc of
setUseTimestampOnResources:

Enabling timestamps on resources will inject the last modification time of
the resource into the filename (the name will look something like
'style-ts1282915831000.css' where the large number is the last modified date
in milliseconds and '-ts' is a prefix to avoid conflicts with filenames that
already contain a number before their extension. * 

Since browsers and proxies use the filename of the resource as a cache key
the changed filename will not hit the cache and the page gets rendered with
the changed file.

In this case this useful functionality is lost. Is it possible to have "the
best of both worlds"? Thanks.
-- 
View this message in context: 
http://apache-wicket.1842946.n4.nabble.com/IResourceSettings-setUseTimestampOnResources-true-and-performance-tp3057946p3057946.html
Sent from the Users forum mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to