Hitachi

uCosminexus Application Server XML Processor User Guide


3.7.4 Notes on the Parser Switching functionality

Organization of this subsection

(1) XML implementation for the container extension library

If you specify a class path for an XML implementation other than XML Processor in usrconf.cfg, the start processing of Application Server or operations of the components are affected, hence, you cannot specify the XML implementation in the container extension library.

For details on the container extension library, see 16. Container Extension Library in the uCosminexus Application Server Common Container Functionality Guide.

(2) Notes on using the Application Server functionality

The functionality provided with Application Server includes functionality that requires XML Processor operations. Note that the functionality described in the following table might not operate normally if used concurrently with the Parser Switching functionality in the same application.

Table 3‒12: Application Server functionality that does not support the switching of XML implementation

API type

Application Server functionality that does not support the switching of XML implementation

JAXP API

  • All the functions of the Web Sservice functionality (JAX-WS functionality, JAX-RS functionality, WS-RM1.1 functionality, and WS-RM1.2 functionality)

  • All the functions for the communication between a Web Service and SOAP (existing functionality)

  • All the functions of the JPA functionality

  • All the functions of the JSF functionality

  • All the functions of the JSTL functionality

  • All the functions of the BeanValidation functionality

  • All the functions of the CDI functionality

  • All the functions of the security management (Web Service) functionality

  • All the functionality of cFramework

  • Reliable Messaging functionality for transmission between queues

  • JAXB functionality of XML Processor

  • All the functionality of Service Coordinator

StAX API

  • All the functions of the Web Service functionality (JAX-WS functionality, JAX-RS functionality, and WS-RM1.2 functionality)

  • All the functions of the JSTL functionality

  • All the functions of the BeanValidation functionality

  • JAXB functionality of XML Processor

  • All the functions of Service Coordinator

JAXB API

  • All the functions of the Web Service functionality (JAX-WS functionality, JAX-RS functionality, and WS-RM1.2 functionality)

  • All the functions of the JSTL functionality

  • All the functions of the BeanValidation functionality

  • All the functions of the Service Coordinator

As a roundabout, consider dividing the components that require the user-specified XML implementation and the components that require the Application Server functionality into separate applications.

Also, on the J2EE servers that operate Service Coordinator, operate the applications that require the user-specified XML implementation on a J2EE server different than the user-specified XML implementation with Service Coordinator.

(3) Versions of XML implementation to be switched

Switching the XML implementation with the Parser Switching functionality does not switch APIs. Therefore, you cannot change the API version from the one supported by Application Server.

For example, if you switch the XML implementation conforming to a version different from one supported by Application Server, JAXP1.4/StAX1.0/JAXB2.2 supported by XML Processor 09-50 are used and the APIs added to the new version cannot be used for development and execution. Also, take precautions when you switch to an XML implementation of a different version because the operations might be affected by changes in the specifications and errors or exceptions might occur when the APIs are used.

(4) Switching the XML implementation class

JAXP1.4 and JAXB2.2 provide the mechanism for switching the implementation classes. The Parser Switching functionality cannot be used to override implementation class switchover that has already been made in any of the following ways:

For example, with JAXB1, which requires implementation classes to be specified in jaxb.properties, the Parser Switching functionality cannot be used to switch implementation classes.

(5) Notes on using the local call optimization functionality of Component Container

When an XML implementation is included with a J2EE application and if all is specified in the optimization scope for the local call optimization functionality of Component Container (ejbserver.rmi.localinvocation.scope=all), the XML implementation of all the applications running on the same J2EE server switches. The EJB-JARs and library JARs of J2EE applications are loaded using the same class loader, so the classes with the same name are shared between the J2EE applications. If there are classes with the same names but different contents, according to the Java specifications, note that only the class loaded first is enabled.

For details on the local call optimization functionality, see Appendix B.2 Class loader configuration for local call optimization in the uCosminexus Application Server Common Container Functionality Guide.

(6) Switching the XML implementation of the client-operated Java applications

With Java applications, the XML implementation is switched by specifying the system properties in the user property file for Java applications, so the Parser Switching functionality is not supported.

For details on the user property file for Java applications, see 12.2.2 usrconf.properties (User property file for Java applications) in the uCosminexus Application Server Definition Reference Guide.