IBM Support

PI71210: DEPLOYMENT FAILS WHEN @EJB CONTAINS BEANNAME AND EJB DESCRIPTOR CONTAINS <LOOKUP-NAME>

Fixes are available

9.0.0.2: WebSphere Application Server traditional V9.0 Fix Pack 2
9.0.0.3: WebSphere Application Server traditional V9.0 Fix Pack 3
9.0.0.4: WebSphere Application Server traditional V9.0 Fix Pack 4
9.0.0.5: WebSphere Application Server traditional V9.0 Fix Pack 5
9.0.0.6: WebSphere Application Server traditional V9.0 Fix Pack 6
9.0.0.7: WebSphere Application Server traditional V9.0 Fix Pack 7
9.0.0.8: WebSphere Application Server traditional V9.0 Fix Pack 8
9.0.0.9: WebSphere Application Server traditional V9.0 Fix Pack 9
9.0.0.10: WebSphere Application Server traditional V9.0 Fix Pack 10
9.0.0.11: WebSphere Application Server traditional V9.0 Fix Pack 11
9.0.5.0: WebSphere Application Server traditional Version 9.0.5 Refresh Pack
9.0.5.1: WebSphere Application Server traditional Version 9.0.5 Fix Pack 1
9.0.5.2: WebSphere Application Server traditional Version 9.0.5 Fix Pack 2
9.0.5.3: WebSphere Application Server traditional Version 9.0.5 Fix Pack 3
9.0.5.4: WebSphere Application Server traditional Version 9.0.5 Fix Pack 4
9.0.5.5: WebSphere Application Server traditional Version 9.0.5 Fix Pack 5
WebSphere Application Server traditional 9.0.5.6
9.0.5.7: WebSphere Application Server traditional Version 9.0.5 Fix Pack 7
9.0.5.8: WebSphere Application Server traditional Version 9.0.5.8
9.0.5.9: WebSphere Application Server traditional Version 9.0.5.9
9.0.5.10: WebSphere Application Server traditional Version 9.0.5.10
9.0.5.11: WebSphere Application Server traditional Version 9.0.5.11

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • When an EBJ descriptor contains an EJB reference element that
    includes a <lookup-name> element, and an @EJB annotation
    contains a beanName for the same reference a validation error
    occurs.
    
    ADMA0235E: A validation error occurred in task Mapping EJB
    references to enterprise beans. A lookup name <LOOKUP NAME> and
    EJB link <BEAN NAME> are specified for EJB reference
    <REFERENCE NAME> in module <EJB JAR FILE NAME>"
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM WebSphere Application      *
    *                  Server 9.0.0.1 who have applications with   *
    *                  EJBs                                        *
    ****************************************************************
    * PROBLEM DESCRIPTION: Application deployment fails when an    *
    *                      @EJB annotation contains a "beanName"   *
    *                      attribute and the EJB descriptor        *
    *                      contains a reference specifying a       *
    *                      <lookup-name> element.                  *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    During processing of Java EE annotations, the application
    server merges information found in the annotations with the
    deployment descriptors.  The beanName attribute on the
    @EJB annotation is merged into the deployment descriptor as an
    <ejb-link> element on the EJB reference.  It is an error to
    have both an <ejb-link> element and a <lookup-name> element in
    the same EJB reference. This is an error in the merge
    processing.
    

Problem conclusion

  • The code has been modified so that it no longer writes the
    <ejb-link> into the EJB reference in the descriptor when a
    <lookup-name> element is already present.
    
    Note that this fix does not completely restore the behavior of
    WebSphere Application Server prior to version 9.0.0.1.  The
    problem is that the beanName attribute on an @EJB annotation
    is in conflict with the <lookup-name> on the EJB reference in
    the descriptor.  Prior to 9.0.0.1, beanName won the conflict.
    This resulted in <ejb-link> added to the merged descriptor
    instead of <lookup-name>.  In other words, the value on the
    annotation overrode the value in the descriptor.
    
    Values on descriptors must override values on annotations.
    With this fix, the value in the descriptor will win, meaning
    the EJB reference in the merged descriptor will contain
    <lookup-name> instead of <ejb-link>.
    
    To restore the old behavior, you need to remove <lookup-name>
    from the EJB reference in the ejb-jar.xml file before
    deploying the application.
    
    The fix for this APAR is currently targeted for inclusion in
    fix pack 9.0.0.2.  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

    PI71210

  • Reported component name

    WEBSPHERE APP S

  • Reported component ID

    5724J0800

  • Reported release

    900

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2016-10-25

  • Closed date

    2016-11-22

  • Last modified date

    2016-11-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

    WEBSPHERE APP S

  • Fixed component ID

    5724J0800

Applicable component levels

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

Document Information

Modified date:
04 May 2022