Howto speedup JSPC (slow analyzing of TLDs) - Weblogic

This is a discussion on Howto speedup JSPC (slow analyzing of TLDs) - Weblogic ; We are using Taglibs (classes and TLD) which are automagically generated on a per-webapp base. The tags are representing single properties of our backend data objects, e.g. name or birthday. The taglibs are referenced within the JSPs via . The ...

+ Reply to Thread
Results 1 to 4 of 4

Thread: Howto speedup JSPC (slow analyzing of TLDs)

  1. Howto speedup JSPC (slow analyzing of TLDs)

    We are using Taglibs (classes and TLD) which are automagically generated on a per-webapp base. The tags are representing single properties of our backend data objects, e.g. name or birthday. The taglibs are referenced within the JSPs via
    . The corresponding TLDs are quite large, e.g. 600KB.

    We can not deploy pre-compiled JSPs because we have a mix of manually created (included) JSPs and (outer) JSPs generated by our Content Management System. Depending of modifications within the CMS the generated JSPs are re-generated while the webapps are running.

    The first access to a newly generated /deployed JSP (which uses the mentioned taglibs) takes JSPC extremly long (>30 seconds/JSP) to compile a single JSP.

    If we are remove the taglib from the JSP (commenting "<%@ taglib prefix="field" uri="/WEB-INF/tld/FieldTaglib.tld" %>" and all tag references) then the compile time is acceptable.

    How can we speed up compiling of JSP during runtime?
    Pre-compiling during build or deployment is no option.

    We already specified the Javac class in weblogic.xml.


    How does the JSPC's TLD class file analyzer collect it's information?
    Does it look for TLD classes in the whole appserver classpath (starting with the JVM system classpath, then the EAR classpath und finally the WEB-INF/classes/ + WEB-INF/lib/)?

    We have a whole bunch of JARs in WEB-INF/lib/ and many classes in WEB-INF/classes/. But all of our TLD classes are located in WEB-INF/classes/.

    So is it possible to limit JSPC's TLD classfile analyzer to search a specific location only (e.g. WEB-INF/classes/)?

    Is there any option available to control JSPC'S TLD analyzer?

    Regards,
    Torsten

  2. Re: Howto speedup JSPC (slow analyzing of TLDs)

    Ups, some important info is missing:

    - WLS 8.1SP2
    - Solaris 2.8
    - Sun JDK 1.4.2_04
    - plain javac via weblogic.xml (jsp-descriptor: compilerclass=com.sun.tools.javac.Main), no jikes yet

    Regards,
    Torsten

  3. Re: Howto speedup JSPC (slow analyzing of TLDs)

    It looks like you're already using "in memory" page compilation instead of kicking off a new process (compilerclass), which is the first thing I would have suggested. Trying Jikes would certainly be worthwhile. You may also want to configure your app to use a classloading structure that favors application classes (more inline with the J2EE spec). Use the following in weblogic.xml:

    [pre]
    ...

    ...
    true
    ...

    ...
    [/pre]

    If it's possible to find out from BEA what sort of information (if any) gets cached during compilation, you may be able to create a page that gets precompiled during deployment that populates that cache. For example, if you have a test page that uses all of your tags, the process of compiling that page may cause information to be cached that will speed up subsequent compilations. Are all the page compilations slow or just ones that reference tags for the first time? Is there any way to further break up your TLD files into smaller ones? Unfortunately, there may not be much you can do if you've got pages with lots of tags. It's just going to take some time to compile them.

  4. Re: Howto speedup JSPC (slow analyzing of TLDs)

    Hello,

    kschneids suggestions are all valid, if slow compilation is your problem switch to jikes, the speed differences I have seen are impressive, upto 10 times faster on linux although there does not seem to be an FAQ on it for solaris I assume it should be straight forward to compile and deploy.

    http://oss.software.ibm.com/develope...es/index.shtml

    see JSP Attribute Names and Values

    http://e-docs.bea.com/wls/docs81/web...logic_xml.html

    for more info.

+ Reply to Thread