IBM Support

PI43130: Enable strict checking of a single validation.xml file per appli cation classpath.

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • The Bean Validation 1.1 spec is very restrictive in that it
    allows only one validation.xml file on the classpath.  If
    more than one validation.xml file is found, the spec says
    that a ValidationException should be thrown, which would
    mean that the application would fail to deploy.  In a Java
    EE environment where multiple modules may be developed by
    different teams in the same application, this restriction is
    unnecessarily harsh. However, in some cases it is necessary
    as the user may depend on the ValidationException being
    thrown when more than one validation.xml is found on the
    application classpath.  This APAR addresses this case.
    
    For clarification, the application classpath is somewhat
    flexible.  Since web modules are loaded using a child loader
    of the application classloader, it is possible for each web
    module to have different classpaths with the classes
    loadable by the application classloader in common.
    Therefore, it would be possible in this strict mode to have
    more than one validation.xml in a single application, so
    long as they are packaged in web modules.  If any
    validation.xml is packaged where it could be loaded by the
    application classloader (an EJB JAR, RAR, shared library,
    user feature, etc.), then it must be the only one for the
    app - if this strict mode is enabled.
    
    By default, the strict mode should be disabled.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM WebSphere Application      *
    *                  Server Liberty Profile                      *
    ****************************************************************
    * PROBLEM DESCRIPTION: Enable strict checking of a single      *
    *                      validation.xml file per application     *
    *                      classpath.                              *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    The Bean Validation 1.1 spec is very restrictive in that it
    allows only one validation.xml file on the classpath.  If more
    than one validation.xml file is found, the spec says that a
    ValidationException should be thrown, which would mean that the
    application would fail to deploy.  In a Java EE environment
    where multiple modules may be developed by different teams in
    the same application, this restriction is unnecessarily harsh.
    However, in some cases it is necessary as the user may depend on
    the ValidationException being thrown when more than one
    validation.xml is found on the application classpath.  This APAR
    addresses this case.
    
    For clarification, the application classpath is somewhat
    flexible.  Since web modules are loaded using a child loader of
    the application classloader, it is possible for each web module
    to have different classpaths with the classes loadable by the
    application classloader in common.  Therefore, it would be
    possible in this strict mode to have more than one
    validation.xml in a single application, so long as they are
    packaged in web modules.  If any validation.xml is packaged
    where it could be loaded by the application classloader (an EJB
    JAR, RAR, shared library, user feature, etc.), then it must be
    the only one for the app - if this strict mode is enabled.
    
    By default, the strict mode should be disabled.
    

Problem conclusion

  • The fix in this APAR allows the user to configure a strict mode
    where only one validation.xml in the application is allowed.  To
    enable this strict mode, the user must configure the following
    system property:
    com.ibm.ws.beanvalidation.allowMultipleConfigsPerApp=false
    
    The fix for this APAR is currently targeted for inclusion in fix
    pack 8.5.5.7.  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

    PI43130

  • Reported component name

    WAS LIBERTY COR

  • Reported component ID

    5725L2900

  • Reported release

    855

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2015-06-16

  • Closed date

    2015-06-19

  • Last modified date

    2015-06-19

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

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

Fix information

  • Fixed component name

    WAS LIBERTY COR

  • Fixed component ID

    5725L2900

Applicable component levels

  • R855 PSY

       UP

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSD28V","label":"WebSphere Application Server Liberty Core"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"855","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
11 January 2022