This content has been marked as final. Show 4 replies
Listener plays no part in serving the content of i.war. So if the static resource is taking a long to be served it's a problem with WebLogic, the file system where the file is stored, or the resource itself.
Try accessing the URL of the static resource directly by itself, entering it's URL in the browser and measure how long it takes to load versus when it's referenced in the APEX page.
Ensure the file is stored on a local filesystem, not on a network filesystem.
If it's taking a long time to refresh the APEX page that references the CSS, that implies that the page is configured with a long cache expiry. Check the response headers on the APEX page.
Hi Colm, thanks for your response. Well, the css file is correct, it is generated by lesscss compiler, that check the syntax and the output is a well formed css file. The files are locally in the server, at same directory that the apex listener is.
See this first image, it contains the page request. After more than 30 seconds the css file load fails, but the size/content is 155.29KB/155.09KB. It's strange, it's like the file is not completely dispached. https://docs.google.com/file/d/0B9_PRyVKGP1pRmFWQkx4TzcyZVk/edit
The second image contains the css file header. The status code is *200 OK*, but in the request tab there are not data. https://docs.google.com/file/d/0B9_PRyVKGP1pZVhBMGVsVDB2a2s/edit
The last image contains the life time of the page, in which we can see that almost the entire file is loaded in 1s and the last request for this file occurs 30s later. https://docs.google.com/file/d/0B9_PRyVKGP1pOGo3UDlCVkZydTQ/edit
Hmm, the first image shows the file size as being ~155KB, while the second shows the Content-Length as 165750, which is ~162KB. At this point I'm going to speculate, so you'll have to figure out a way to test this hypothesis.
For whatever reason WLS is reporting the file size as 162KB, but in reality the file is only ~155KB in size. The browser then stalls waiting for the final 7KB to appear, and eventually gives up after 30 seconds when it does not. This is what is leading to the slow loading behaviour, I have seen browsers do this in the past when the content-length header was reporting a too large value.
1. Check the size of the file on the file system.
2. Restart WLS to see if that cures the problem (perhaps it has cached the file size of an earlier version of the file?)
In the weblogic log appears this entry:
<Jan 17, 2013 10:06:36 AM CET> <Error> <HTTP> <BEA-101019> <[ServletContext@406840767[app:i module:i.war path:/i spec-version:null]] Servlet failed with IOException java.io.IOException: failed to read '199' bytes from InputStream; clen: -1 remaining: 199 count: 6743 at weblogic.servlet.internal.ChunkOutput.writeStream(ChunkOutput.java:417) at weblogic.servlet.internal.ChunkOutputWrapper.writeStream(ChunkOutputWrapper.java:178) at weblogic.servlet.internal.ServletOutputStreamImpl.writeStream(ServletOutputStreamImpl.java:520) at weblogic.servlet.internal.ByteRangeHandler.write(ByteRangeHandler.java:103) at weblogic.servlet.internal.ByteRangeHandler$SingleByteRangeHandler.sendRangeData(ByteRangeHandler.java:407) Truncated. see log file for complete stacktrace
I will talk with the people who manage the server to find a solution for this issue.