IBM Support

PM28563: WEBSPHERE REGISTERS ITS "JIT STUB" PLUGIN WITH MODULE CLASS LOADERS HAS A FLAW IN ITS LOGIC.

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • [12/1/10 00:00:00:000 CST] 00000000 annotation    E
    com.ibm.ws.webcontainer.annotation.WASAnnotationHelper inject
    exception while injecting resource --> [InjectionTargetField=
    com.ibm.test._TestEJB_Stub]
    com.ibm.wsspi.injectionengine.InjectionException: The
    com.ibm.ws.naming.util.IndirectJndiLookupObjectFactory factory
    encountered a problem getting the object instance for the
    Reference:com.ibm.test.TestEJB binding object.
    ...
    Caused by: java.lang.ClassCastException: Unable to load class:
    com.ibm.test._TestEJB_Stub
    at com.ibm.rmi.javax.rmi.PortableRemoteObject.narrow(
    PortableRemoteObject.java:378)
    at javax.rmi.PortableRemoteObject.narrow(
    PortableRemoteObject.java:137)
    at com.ibm.ws.injectionengine.processor.EJBInjectionBinding.
    narrow(EJBInjectionBinding.java:992)
    at com.ibm.ws.injectionengine.processor.EJBInjectionBinding.
    getInjectionObject(EJBInjectionBinding.java:806)
    

Local fix

  • Candidate to be fixed in next release.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  IBM WebSphere Application Server V7.0 users *
    *                  of EJB 3.0.                                 *
    ****************************************************************
    * PROBLEM DESCRIPTION: Injection or lookup of remote EJBs      *
    *                      can fail if the client application      *
    *                      contains WAR modules and EJB client     *
    *                      JAR files only.                         *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    The product registers a plugin with module class loaders in
    order to generate missing stub classes automatically.  If an
    application only contains WAR modules, then the WAR module
    class loaders will have the stub plugin, but the application
    class loader will not.  In general, EJB client JAR files are
    placed on the class path of the application class loader.
    
    When injecting EJB references, the injection engine is
    required to narrow remote EJB stubs to match the field or
    method type.  Before performing this narrow, the context class
    loader is changed to the class loader of the interface class.
    If the interface class is from the application class loader
    and the application class loader does not have the stub
    plugin, then the narrow fails.
    
    When the application is packaged as described above, the
    narrow performed by the EJBInjectionBinding class will fail
    reliably with a stack trace similar to the one in the error
    description.  This fix for this APAR will only resolve that
    specific problem exception; it is not a general fix for
    ClassCastExceptions thrown by PortableRemoteObject.narrow.
    

Problem conclusion

  • The injection engine is updated to set the context class
    loader to the module class loader before perfoming the narrow.
    
    The fix for this APAR is currently targeted for inclusion in
    fix pack 7.0.0.17.  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

    PM28563

  • Reported component name

    WEBSPHERE APP S

  • Reported component ID

    5724J0800

  • Reported release

    700

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2010-12-09

  • Closed date

    2010-12-15

  • Last modified date

    2011-07-18

  • 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

  • R61A PSY

       UP

  • R61H PSY

       UP

  • R61I PSY

       UP

  • R61P PSY

       UP

  • R61S PSY

       UP

  • R61W PSY

       UP

  • R61Z PSY

       UP

  • R700 PSY

       UP



Document information

More support for: WebSphere Application Server
General

Software version: 7.0

Reference #: PM28563

Modified date: 18 July 2011