Mantis - Resin
Viewing Issue Advanced Details
1044 minor always 04-11-06 08:47 06-27-06 09:14
ferg  
ferg  
normal  
closed 3.0.18  
fixed  
none    
none 3.0.20  
0001044: compilation issues
(rep by Serge Knystautas)

This took better part of an afternoon to chase down... not sure anyone cares, but in case others are hitting this:

Everytime I restart Resin (virtually) all my JSPs have to be recompiled. Here's what the issue is:

1. I have to put Apache's jstl.jar and standard.jar in my WEB-INF/lib because of some dependencies from an existing tag library.
2. This triggers Resin to use Apache's JSTL instance instead of its own.
3. Resin is improperly calculating the class digest for the Apache JSTL tag classes, thus requiring a recompile on each restart.

Biggest complicating note:
The current default resin.conf has
    <class-loader>
      <tree-loader path="$resin-home/lib"/>
      <tree-loader path="${server.root}/lib"/>
    </class-loader>
My older resin.conf did not have the second entry. IF you add the second entry (the server.root one), then even if you have Apache's jstl.jar and standard.jar in your WEB-INF/lib, Resin uses its own JSTL impl, thus not prompting restarts.

So this why even when I stuck all my JARs and web.xml into the default Resin instance, I could not reproduce the always-recompile problem. I finally diff'd my resin.conf with the default to see the difference.

Anyway, hopes this helps someone. Thanks to eclipse for letting me step through all the running code to evaluate what exactly in a JSP dependencies was triggering the isModified() value.


There are no notes attached to this issue.