IBM Support

PM54932: FAILED TO LOAD WEBAPP WHEN USING CDI

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Context and Dependency Injection (CDI) uses a different
    approach to dependency injection. Classes with final methods
    CDI doesn't allow that
    
    In systemout.log we see the following error
    
    com.ibm.ws.exception.RuntimeWarning:
    com.ibm.ws.webcontainer.exception.WebAppNotLoadedException:
    Failed to load webapp: Failed to load webapp: WebBeans with api
    type with normal scope must be proxiable to inject.
    com.customer.code.web.validator.impl.NumberValidator has final
    methods! CDI doesn&#39&#59;t allow that.
    at
    com.ibm.ws.webcontainer.component.WebContainerImpl.install(WebCo
    ntainerImpl.java:428)
    at
    com.ibm.ws.webcontainer.component.WebContainerImpl.start(WebCont
    ainerImpl.java:714)
    

Local fix

  • n/a
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  IBM WebSphere Application Server V8.0       *
    *                  users of Context and Dependency Injection   *
    *                  (CDI)                                       *
    ****************************************************************
    * PROBLEM DESCRIPTION: CDI does NOT allow proxying of classes  *
    *                      which are declared final or have final  *
    *                      methods. If these bean types are        *
    *                      proxied the CDI container               *
    *                      WebBeansUtil.checkUnproxiableApiType    *
    *                      throws UnproxyableResolutionException   *
    *                      causing the application to NOT start.   *
    *                      The issue is described in the           *
    *                      OpenWebBeans JIRA OWB-616 and the Seam  *
    *                      Solder JIRA SOLDER-99.                  *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    CDI-1.0 currently specifies that classes that are declared
    final or have final methods cannot be proxied by the CDI
    container. This is overly strict, since the criteria
    should only apply to non-static and non-private methods. This
    criteria has been changed in the 1.1 version of the CDI
    specification.
    

Problem conclusion

  • CDI container has been modified to allow proxying of classes
    that have private final methods.
    The fix for this APAR is currently targeted for inclusion in
    fix pack 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

    PM54932

  • Reported component name

    WEBSPHERE APP S

  • Reported component ID

    5724J0800

  • Reported release

    800

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2011-12-22

  • Closed date

    2012-02-01

  • Last modified date

    2012-02-01

  • 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

    WEBSPHERE APP S

  • Fixed component ID

    5724J0800

Applicable component levels

  • R800 PSY

       UP

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

Document Information

Modified date:
28 October 2021