Pre-compiled JSPs not being recognized (WLS 8.1 SP2) - Weblogic

This is a discussion on Pre-compiled JSPs not being recognized (WLS 8.1 SP2) - Weblogic ; We're running into a strange problem here, where our pre-compiled JSPs (precompiled via an ant target) are being recognized as "stale" and recompiled by Weblogic, as the following log message indicates. The strange thing is, on one hand it says ...

+ Reply to Thread
Results 1 to 5 of 5

Thread: Pre-compiled JSPs not being recognized (WLS 8.1 SP2)

  1. Pre-compiled JSPs not being recognized (WLS 8.1 SP2)



    We're running into a strange problem here, where our pre-compiled JSPs (precompiled
    via an ant target) are being recognized as "stale" and recompiled by Weblogic,
    as the following log message indicates. The strange thing is, on one hand it says
    they were precompiled by a "different" version of Weblogic server, and then right
    after that, immediately contradicts itself by logging the SAME version for the
    JSP and WLS builds:

    #### '11' for
    queue: 'default'> <> [ServletContext(id=20425572,name=fwmhis-www,context-path=)], resource
    [/tiles/table/td_twisty_group_tile.jsp], because it is stale. It was previously
    compiled using a
    different version of WebLogic Server.
    JSP build version: 8.1.2.0
    WLS build version: 8.1.2.0.>

    As can be seen, the two build versions are identical (8.1.2.0) which is the correct
    version (Weblogic 8.1 SP2). Has anyone else run into this problem? If so, is there
    a fix?

    The platform is Solaris btw.

    Thank you.

    ...Hrishi

    --
    ______________________________________

    Hrishi Dixit
    Finaplex
    hdixit@finaplex.com


  2. RE: Pre-compiled JSPs not being recognized (WLS 8.1 SP2)

    I have exactly the same problem with 8.1sp2 on Win2000 and I will test it tomorrow on Solaris.

    It seems that the code checks two things:
    1. the version of the JSPC
    2. the timestamp of the files
    In both cases the logged message is the same(!!!) "recompiling because is stale..." but you can see that clearly the version numbers are the same, therefore the stale check failed on step 2.

    Now my guess is that step 2, either doesn't find the page, or the time check is done erratically. Mind you, in 8.1sp2 BEA changed the isResourceStale method signature and added an extra String parameter for the TimeZone, see code in generated JSPs below:
    public boolean _isStale() {
    weblogic.servlet.jsp.StaleChecker sci =(weblogic.servlet.jsp.StaleChecker)(getServletCon fig().getServletContext());
    java.io.File f = null;
    long lastModWhenBuilt = 0L;
    if (sci.isResourceStale("/index.jsp", 1082047780159L, "8.1.2.0", "Europe/London")) return true;
    return false;
    }

    I'm also quite sure that we should be waiting for a rolling patch quite soon.

  3. Re: Pre-compiled JSPs not being recognized (WLS 8.1 SP2)

    Kostas Symeonidis wrote:

    > I have exactly the same problem with 8.1sp2 on Win2000 and I will test it tomorrow on Solaris.
    >
    > It seems that the code checks two things:
    > 1. the version of the JSPC
    > 2. the timestamp of the files
    > In both cases the logged message is the same(!!!) "recompiling because is stale..." but you can see that clearly the version numbers are the same, therefore the stale check failed on step 2.
    >
    > Now my guess is that step 2, either doesn't find the page, or the time check is done erratically. Mind you, in 8.1sp2 BEA changed the isResourceStale method signature and added an extra String parameter for the TimeZone, see code in generated JSPs below:
    > public boolean _isStale() {
    > weblogic.servlet.jsp.StaleChecker sci =(weblogic.servlet.jsp.StaleChecker)(getServletCon fig().getServletContext());
    > java.io.File f = null;
    > long lastModWhenBuilt = 0L;
    > if (sci.isResourceStale("/index.jsp", 1082047780159L, "8.1.2.0", "Europe/London")) return true;
    > return false;
    > }
    >
    > I'm also quite sure that we should be waiting for a rolling patch quite soon.


    Your guess is correct. Unfortunately a the message logged is wrong. A
    patch for CR133453 fixes that. Basically its failing (2) and logging the
    same message as (1).


  4. Re: Pre-compiled JSPs not being recognized (WLS 8.1 SP2)

    So wait, does this patch fix the misleading error message, or the
    problem itself? If the former, what (if anything) is a solution for
    the latter? Why could it be complaining about timestamps, and what do
    we need to do/cleanup to circumvent the timestamp comparison?

    Thanks.

    Hrishi


    Nagesh Susarla wrote in message news:<407ed631@newsgroups.bea.com>...
    > Kostas Symeonidis wrote:
    >
    > > I have exactly the same problem with 8.1sp2 on Win2000 and I will test it tomorrow on Solaris.
    > >
    > > It seems that the code checks two things:
    > > 1. the version of the JSPC
    > > 2. the timestamp of the files
    > > In both cases the logged message is the same(!!!) "recompiling because is stale..." but you can see that clearly the version numbers are the same, therefore the stale check failed on step 2.
    > >
    > > Now my guess is that step 2, either doesn't find the page, or the time check is done erratically. Mind you, in 8.1sp2 BEA changed the isResourceStale method signature and added an extra String parameter for the TimeZone, see code in generated JSPs below:
    > > public boolean _isStale() {
    > > weblogic.servlet.jsp.StaleChecker sci =(weblogic.servlet.jsp.StaleChecker)(getServletCon fig().getServletContext());
    > > java.io.File f = null;
    > > long lastModWhenBuilt = 0L;
    > > if (sci.isResourceStale("/index.jsp", 1082047780159L, "8.1.2.0", "Europe/London")) return true;
    > > return false;
    > > }
    > >
    > > I'm also quite sure that we should be waiting for a rolling patch quite soon.

    >
    > Your guess is correct. Unfortunately a the message logged is wrong. A
    > patch for CR133453 fixes that. Basically its failing (2) and logging the
    > same message as (1).


  5. Re: Pre-compiled JSPs not being recognized (WLS 8.1 SP2)

    The wrong error message is clearly weblogic problem.
    As for precompilation problem, all you have to do is to set "roundup='false'" in your jar/war task in the build file (this parameter exists since ant 1.6.2). Default value is 'true' and therefore ant is rounding up update time of JSP pages and effectively rendering precompilation useless.

+ Reply to Thread