I am running Vaadin 7.1.13 and I’m trying to track down some memory issues that seem to crop up if I repeatedly download files and such using FileDownloader and BrowserWindowOpener in which we use a StreamResource and call setCacheTime() on it.
The javadocs for setCacheTime() seem to indicate that the adapter may possibly cache streams sent to the client.
Does that ever happen?
What I’ve noticed, for example with a BrowserWindowOpener, the handleConnectorRequest(), getResource() and eventually my stream’s getStream() are all called as expected on the first click. But if I click again before the setCacheTime() expires, the window will open, but it’s as if my code is not serving the contents again. It’s not clear to me from the Google Chrome Developer tools network screen how this is actually working in terms of requests and responses as I only seem to see the UIDL requests and not the one that returns the contents for the browser window that was opened.
So my question is the Vaadin connector/components somehow caching the response, or is it relying on the browser’s own cache to redisplay it?
EDIT: Should add that I only see HTTP status codes of 200 in the network view of the browser developer tools, not 304s or what I might expect if the response was telling them they can use a browser cached version, but then I never really see the glass “GET” request to download the content in the browser window as it seems to be using the Vaadin UIDL JSON calls.
