5 Replies Latest reply on Sep 12, 2007 2:16 PM by raist_majere

    Problem with Jboss(Tomcat) caching from my file system

    boris_br

      Hello,
      I have a problem with Jboss or Tomcat chaching.
      I use Jboss 4.0.5, Windows, IE 7.
      Here is a part of my code in JSP:

      response.setHeader("Expires", "0");
      response.setHeader("Cache-Control", "no-store, no-cache, must-revalidate");
      // Set IE extended HTTP/1.1 no-cache headers (use addHeader).
      response.addHeader("Cache-Control", "post-check=0, pre-check=0");
      response.setHeader("Pragma", "No-cache");
      response.setDateHeader("Expires", 0);
      ...

      ..

      I use frames in my JSP-Page and in this frame
      I show some files e.g.
      jboss-4.0.5.GA\server\default\deploy\appl.ear\appl.war\docs1\1001.html.
      My application change the content from this file, but if I click to refresh (F5) Internet Explorer show me sometimes the old version of file 1001.html also after 3-5 sec. . Although I send every time new URL because I have UUID in my URL and it looks like that
      URL: /appl/docs1/1001.html?dsessionId=4B4F042B3CCD78F6DC4A5381FBA09D2E&Uuid=b87bfcc6-efc6-4198-b75d-24f1e0029f57

      It looks like Jboss or Tomcat have some cache for my file system and don't take the actuall file from the driver, but I don't now how can I configure this cache.

      Can somebody help me? Thank you.

        • 1. Re: Problem with Jboss(Tomcat) caching from my file system
          raist_majere

          This is working for me:

           //HTTP 1.0:
           response.setHeader("Expires","0");
           response.setHeader("Pragma","no-cache");
           //HTTP 1.1:
           response.setHeader("Cache-Control","must-revalidate");
          


          But what I think is a problem with your webapp... How does your application change this page? It's an HTML, so either it's a "shadowed" JSP (you have some mapping converting it to a JSP) or you are uploading an HTML file directly into your webapp deployed directory. Please tell us more if still having this problem

          • 2. Re: Problem with Jboss(Tomcat) caching from my file system
            boris_br

            Thank you for your reply.
            Our application hold the different document in html or pdf form in database. So after user request I only copy/replace the existing file in the deploy\..\docs\ directory and want to show to the user everytime only the actuall file - is is very importent.

            I think you response.set header is almost the same as mine. Do you have another decisions? Thank you.
            By

            • 3. Re: Problem with Jboss(Tomcat) caching from my file system
              raist_majere

              How do you show to the user the available files? What are the URLs like to get these files? Maybe your problem is with this second thing. If you give URLs directly to the files, they may be cached by the browser.

              • 4. Re: Problem with Jboss(Tomcat) caching from my file system
                boris_br

                Hi,
                my URL looks like that:
                *********************
                /applicationname/docs1/1001.html?dsessionId=4B4F042B3CCD78F6DC4A5381FBA09D2E&now=10171444&Uuid=da6e6f4d-d78b-43a1-a031-65312a63b69e
                **********************
                You can see that I send unique UUID with every request.
                I think it is not a caching from browser because I activated the http-Logging and in heer is the part of the output from localhost_access_log.2007-09-10.log:
                *********************
                127.0.0.1 - - [10/Sep/2007:17:03:15 +0200] "GET /applicationname/docs1/1001.html?dsessionId=4B4F042B3CCD78F6DC4A5381FBA09D2E&now=10171444&Uuid=da6e6f4d-d78b-43a1-a031-65312a63b69e HTTP/1.1" 200 1862
                *********************

                I heard that the return code = 200 mean no caching from browser.

                • 5. Re: Problem with Jboss(Tomcat) caching from my file system
                  raist_majere

                  return code 200 means OK in HTTP protocol. Is a server result code, nothing to do with client.

                  Better copy the "conflicting" code here (using code tags) and tell us if you're using the default deployment, basic, full or a modified one...