IBM Support

PM56170: Improve performance of JAXBContext creation when a package list cannot be used.

Fixes are available

8.0.0.4: WebSphere Application Server V8.0 Fix Pack 4
7.0.0.25: WebSphere Application Server V7.0 Fix Pack 25
8.0.0.5: WebSphere Application Server V8.0 Fix Pack 5
7.0.0.27: WebSphere Application Server V7.0 Fix Pack 27
8.0.0.6: WebSphere Application Server V8.0 Fix Pack 6
7.0.0.29: WebSphere Application Server V7.0 Fix Pack 29
8.0.0.7: WebSphere Application Server V8.0 Fix Pack 7
8.0.0.8: WebSphere Application Server V8.0 Fix Pack 8
7.0.0.31: WebSphere Application Server V7.0 Fix Pack 31
7.0.0.27: Java SDK 1.6 SR13 FP2 Cumulative Fix for WebSphere Application Server
7.0.0.33: WebSphere Application Server V7.0 Fix Pack 33
8.0.0.9: WebSphere Application Server V8.0 Fix Pack 9
7.0.0.35: WebSphere Application Server V7.0 Fix Pack 35
8.0.0.10: WebSphere Application Server V8.0 Fix Pack 10
7.0.0.37: WebSphere Application Server V7.0 Fix Pack 37
8.0.0.11: WebSphere Application Server V8.0 Fix Pack 11
7.0.0.39: WebSphere Application Server V7.0 Fix Pack 39
8.0.0.12: WebSphere Application Server V8.0 Fix Pack 12
7.0.0.41: WebSphere Application Server V7.0 Fix Pack 41
8.0.0.13: WebSphere Application Server V8.0 Fix Pack 13
7.0.0.43: WebSphere Application Server V7.0 Fix Pack 43
8.0.0.14: WebSphere Application Server V8.0 Fix Pack 14
7.0.0.45: WebSphere Application Server V7.0 Fix Pack 45
8.0.0.15: WebSphere Application Server V8.0 Fix Pack 15
7.0.0.25: Java SDK 1.6 SR11 Cumulative Fix for WebSphere Application Server
7.0.0.27: Java SDK 1.6 SR12 Cumulative Fix for WebSphere Application Server
7.0.0.29: Java SDK 1.6 SR13 FP2 Cumulative Fix for WebSphere Application Server
7.0.0.45: Java SDK 1.6 SR16 FP60 Cumulative Fix for WebSphere Application Server
7.0.0.31: Java SDK 1.6 SR15 Cumulative Fix for WebSphere Application Server
7.0.0.35: Java SDK 1.6 SR16 FP1 Cumulative Fix for WebSphere Application Server
7.0.0.37: Java SDK 1.6 SR16 FP3 Cumulative Fix for WebSphere Application Server
7.0.0.39: Java SDK 1.6 SR16 FP7 Cumulative Fix for WebSphere Application Server
7.0.0.41: Java SDK 1.6 SR16 FP20 Cumulative Fix for WebSphere Application Server
7.0.0.43: Java SDK 1.6 SR16 FP41 Cumulative Fix for WebSphere Application Server

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • The optimum path for creating a JAXBContext is for all
    the packages in the context to have either an ObjectFactory
    class or jaxb.index file.  If that were the case, we would not
    search for classes.
    
    Here is an example trace line logged when we encounter a
    package without one of these classes:
    
    [11/10/11 13:46:34:401 PST] 0000003c JAXBUtils     1
    org.apache.axis2.jaxws.message.databinding.JAXBUtils
    createJAXBContextValue Package com.acompany.apackage does not
    contain an  ObjectFactory or package-info class.  Searching
    for JAXB classes
    
    So, the most performant JAXBContext creation is to ensure
    your packages in the context have an ObjectFactory class or
    jaxb.index file (jaxb.index file support requries PM59472).
    
    Once we find a package without either of the mentioned
    classes, we enter the path of searching for potential JAXB
    classes within the classpath which is more time consuming.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All developers of IBM WebSphere Application *
    *                  Server JAX-WS applications.                 *
    ****************************************************************
    * PROBLEM DESCRIPTION: Improve performance of JAXBContext      *
    *                      creation when                           *
    *                      getAllClassesFromPackage() is invoked.  *
    ****************************************************************
    * RECOMMENDATION:  Apply PM59472 and use jaxb.index files      *
    *                  when packages are included that do not      *
    *                  have ObjectFactory classes and avoid the    *
    *                  searching for classes.                      *
    ****************************************************************
    When a package is identified as not having an ObjectFactory
    class we are forced to search the classpath for potential JAXB
    classes.  This is not as efficient as using the packages to
    create the JAXBContext.
    

Problem conclusion

  • As stated, it is recommended to install PM59472 and use the
    jaxb.index file.  This APAR was an earlier and a less
    efficient improvement.
    
    With this APAR, the results of a package search can now be
    cached as a softreference and later requests to search that
    package will be avoided.
    
    This is controlled with the following property:
    com.ibm.ws.websvcs.getJAXBContext.cacheClassList
    
    The default value of the JVM proeprty is false.
    To enable caching of the class search results, set the
    property value to true.
    
    The fix for this APAR is currently targeted for inclusion in
    fix pack 7.0.0.25 and 8.0.0.4.  Please refer to the Recommended
    Updates page for delivery information:
    http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980
    

Temporary fix

Comments

APAR Information

  • APAR number

    PM56170

  • Reported component name

    WEBSPHERE APP S

  • Reported component ID

    5724J0800

  • Reported release

    61A

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2012-01-17

  • Closed date

    2012-04-13

  • Last modified date

    2012-04-13

  • APAR is sysrouted FROM one or more of the following:

    PM54432

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    WEBSPHERE APP S

  • Fixed component ID

    5724J0800

Applicable component levels

  • R700 PSY

       UP

  • R800 PSY

       UP



Document information

More support for: WebSphere Application Server
General

Software version: 6.1

Reference #: PM56170

Modified date: 13 April 2012