IBM Support

PI40549: UnproxyableResolutionException when injecting a bean with non-private final methods

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. CDI doesn't allow classes
    with final methods.
    
    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:  All users of IBM WebSphere Application      *
    *                  Server V8.0 and V8.5 users of Context and   *
    *                  Dependency Injection (CDI)                  *
    ****************************************************************
    * PROBLEM DESCRIPTION: UnproxyableResolutionException when     *
    *                      injecting a bean with non-private       *
    *                      final methods                           *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    CDI 1.0 does not allow injecting beans with non-private final
    methods. However later version of the CDI specification relax
    this restriction. The java.util.Hashtable class has a
    non-private final method added to the class in later versions
    of Java, so a CDI application that previously worked may break
    when updating the Java level.
    

Problem conclusion

  • A new system property has been defined -
    com.ibm.ws.webbeans.allowNonPrivateFinalMethod - setting this
    property to true enables beans with non-private final
    methods to be injected.
    
    The fix for this APAR is currently targeted for inclusion in
    fix packs 8.0.0.12 and 8.5.5.8.  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

    PI40549

  • Reported component name

    WEBS APP SERV N

  • Reported component ID

    5724H8800

  • Reported release

    850

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2015-05-06

  • Closed date

    2015-07-22

  • Last modified date

    2015-07-22

  • 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

    WEBS APP SERV N

  • Fixed component ID

    5724H8800

Applicable component levels

  • R800 PSY

       UP

  • R850 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.5","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
28 April 2022