running Listener 22.214.171.124.14.47 under WLS.
I have asked a similar question before but was not given a good answer, https://forums.oracle.com/thread/2292910
I have a packaged procedure that prints a web page using htp.p().
Sometimes (I cannot reproduce at will) the procedure's result is not updated when I refresh the page in the browser.
That is, pressing F5 (or Ctrl+F5) gives an old result.
I wrote and granted to apex_public_user this package:
CREATE OR REPLACE PACKAGE BODY callpack AS PROCEDURE calltest (param varchar2 default null) IS BEGIN htp.p('<div>You gave me "'||nvl(param,'<null>')||'". The time is '||to_char(sysdate,'HH24:MI:SS')||'</div>'); for i in 1..1000 loop htp.p('<div>1000 rows of meaningless content</div>'); end loop; END calltest; END callpack; /
I called this from my browser like this: http://server/apex/my_schema.callpack.calltest
Initially I got a new time with every update (F5). After leaving it for a few minutes and trying again it got "stuck". Every refresh now gives me the same response.
The response header for this apparently cached page looks like this
Accept-Ranges bytes Age 1250 Connection Keep-Alive Content-Encoding gzip Content-Length 423 Content-Type text/html; charset=UTF-8 Date Thu, 07 Nov 2013 10:20:22 GMT Vary Accept-Encoding X-ORACLE-DMS-ECID 632c140cd74ad62b:281ea775:1410befd01e:-8000-0000000000d03396 X-Powered-By Servlet/2.5 JSP/2.1
I have also compiled and granted the above packaged procedure as standalone. This has (yet) not been cached. The response headers there:
Connection Keep-Alive Content-Length 49 Content-Type text/html; charset=UTF-8 Date Thu, 07 Nov 2013 10:20:08 GMT X-ORACLE-DMS-ECID 632c140cd74ad62b:281ea775:1410befd01e:-8000-0000000000d04f52 X-Powered-By Servlet/2.5 JSP/2.1
Besides from restarting the server, the only way I know of to make the listener actually call the procedure when caching is to change case in the url.
Or I can add a parameter (?param=X) that I change when I want new content.
Has anyone noticed this?
Is there some caching mechanism in the listener (when doing direct pl/sql-calls)? Or is it WebLogic doing something... sometimes...