PO00803: STRUCT CLASSLOADING FAILS WHEN DEFAULT FILE SYSTEM ORDER IS DESCENDING
Closed as program error.
Struct classloading fails when deploying the Curam application due to file ordering issue when the default file system order is descending. As part of Curam client build, two struct JAR files are included the client WAR file; these are "1_struct.jar" and "2_core_struct.jar". The "2_core_struct.jar" is an OOTB file, while the "1_struct.jar" includes any new model changes. If any changes are made to an OOTB Struct (i.e. using the <<extension>> option) in the model then these struct changes are added into the "1_struct.jar" and OOTB "2_core_struct.jar" remains unchanged. The JAR file naming convention is used on the assumption that all systems follow alphabetic ordering in ascending order by default such that "1_struct.jar" with the custom changes is always listed before "2_core_struct.jar" in the classpath, so that classloader will pick custom changes first. When the default file system order is descending, there are classloading issues that lead to errors thrown from the deployed application.
Unzip the contents of 1_struct.jar into a directory named 'classes' and add this directory into directory 'WEB-INF' of the client WAR file. Similiarly, this workaround can also be applied to other affected JAR files (Curam_classes.jar, for example), which may be impacted as a result of specific customizations.
Struct classloading fails when deploying the Curam application due to file ordering issue when the default file system order is descending.
Resolved in v18.104.22.168 - Classloading fails due to ordering issue with customized code on the environment where default file system order is descending The building of the Curam.ear file has been updated to ensure that the jar file that contains all customized structs is always loaded first in the application server, thus removing any dependency on the classloading order.
Reported component name
CURAM SOCIAL PG
Reported component ID
Last modified date
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fixed component name
CURAM SOCIAL PG
Fixed component ID
Applicable component levels