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 or package-info class. If that were the case, we would not be searching the jars. 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 or package-info class. Once we find a package without either of the mentioned classes, we enter the path of searching for classes and getClassesForJarFile. Time required to collect this package information may be improved.
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: All administrators of IBM WebSphere * * Application Server V6.1.0 Feature Pack for * * Web Services. * **************************************************************** * PROBLEM DESCRIPTION: Improve search time for classes * * during JAXBContext creation within a * * JAX-WS application. * **************************************************************** * RECOMMENDATION: Install a fixpack that contains this APAR. * **************************************************************** If a package used in the creation of a JAXBContext does not contain either an ObjectFactory or package-info class, a search for classes is performed. Improve the search time for the classes.
Problem conclusion
Packages could be searched for classes more than one time and so there is now an option to cache the class list once it is created. This new caching option must be enabled by setting the following JVM property to true: com.ibm.ws.websvcs.getJAXBContext.cacheClassList The default value of the JVM property is false. APAR PM54432 requires changes to documentation. NOTE: Periodically, we refresh the documentation on our Web site, so the changes might have been made before you read this text. To access the latest on-line documentation, go to the product library page at: http://www.ibm.com/software/webservers/appserv/library The following changes to the z/OS version of the WebSphere Application Server Version 6.1 Information Center will be made available in September, 2012. The topic "Java Virtual Machine custom properties" will be updated to include the following description of the new com.ibm.ws.websvcs.getJAXBContext.cacheClassList JVM custom property com.ibm.ws.websvcs.getJAXBContext.cacheClassList Set this property to true to enable the caching of a list of the JAXB classes contained in a package. Typically, when building a JAXBContext, if a package does not contain either a ObjectFactory or package-info class file, the package is searched for all potential JAXB classes. This search process can be time consuming and can be delayed by JAR file locking. If you set this property to true, the class list for each package is cached, eliminating the need for subsequent searches of the same package. Later JAXBContext creation requests retrieve the cached version of the class list instead of initiating a new search. Because the class list cache is created using a SoftReference, the cache can be released if available memory becomes low. The default value for this property is false. If you decide to use this custom property, you must specify it as an application server JVM custom property. APAR PM54432 is currently targeted for inclusion in Fix Pack 6.1.0.45 of the IBM WebSphere Application Server V6.1 Feature Pack for Web Services on z/OS.
Temporary fix
Comments
APAR Information
APAR number
PM54432
Reported component name
WEBSPHERE FOR Z
Reported component ID
5655I3500
Reported release
610
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2011-12-15
Closed date
2012-01-30
Last modified date
2012-10-01
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
PM56170 UK81614
Fix information
Fixed component name
WEBSERVICE FEAT
Fixed component ID
5655I3550
Applicable component levels
R610 PSY UK81614
UP12/09/23 P F209
[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SS7K4U","label":"WebSphere Application Server for z\/OS"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"6.1","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]
Document Information
Modified date:
01 October 2012