IBM Support

PM45487: CLASSNOTFOUNDEXCEPTION USING SUBSTITUTABLE OSGI COMPOSITE BUNDLES (CBA)

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Substitutable OSGi CBA's do not work correctly and a
    ClassNotFoundException is thrown.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of OSGi Applications including    *
    *                  composite bundles with substitutable        *
    *                  packages.                                   *
    ****************************************************************
    * PROBLEM DESCRIPTION: CBAs with                               *
    *                      substitutable packages - those that are *
    *                      both imported and exported - do not     *
    *                      start                                   *
    *                      correctly at runtime.                   *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    Composite Bundles (CBAs) with substitutable packages - those
    that
    are both imported and exported - do not start correctly at
    runtime. Starting the application that requires such a CBA would
    fail with a ClassNotFoundException caused by:
    java.lang.NoClassDefFoundError: similar to,
    com.ibm.ws.eba.example.blog.persistence.api.BlogPersistenceServi
    ce
    at java.lang.ClassLoader.defineClassImpl(Native Method)
    at
    java.lang.ClassLoader.defineClass(ClassLoader.java:260)
    at
    org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineC
    lass(DefaultClassLoader.java:188)
    at
    org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass
    (ClasspathManager.java:580)
    at
    org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassIm
    pl(ClasspathManager.java:550)
    at
    org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalCl
    assImpl(ClasspathManager.java:481)
    at
    org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalCl
    ass_LockClassName(ClasspathManager.java:460)
    at
    org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalCl
    ass(ClasspathManager.java:447)
    at
    org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLoc
    alClass(DefaultClassLoader.java:216)
    at
    org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(Bun
    dleLoader.java:393)
    at
    org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(
    BundleLoader.java:469)
    at
    org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLo
    ader.java:422)
    at
    org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLo
    ader.java:410)
    at
    org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadCla
    ss(DefaultClassLoader.java:107)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:612)
    at
    org.eclipse.osgi.internal.loader.BundleLoader.loadClass(BundleLo
    ader.java:338)
    at
    org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(Bu
    ndleHost.java:232)
    at
    org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClas
    s(AbstractBundle.java:1197)
    at
    org.apache.aries.blueprint.container.BlueprintContainerImpl.load
    Class(BlueprintContainerImpl.java:385)
    at
    org.apache.aries.blueprint.container.BlueprintRepository.loadCla
    ss(BlueprintRepository.java:381)
    at
    org.apache.aries.blueprint.container.GenericType.parse(GenericTy
    pe.java:113)
    at
    org.apache.aries.blueprint.di.AbstractRecipe.loadType(AbstractRe
    cipe.java:110)
    at
    org.apache.aries.blueprint.container.BeanRecipe.loadClass(BeanRe
    cipe.java:187)
    at
    org.apache.aries.blueprint.container.BeanRecipe.getType(BeanReci
    pe.java:761)
    at
    org.apache.aries.blueprint.container.BeanRecipe.getInstance(Bean
    Recipe.java:259)
    at
    org.apache.aries.blueprint.container.BeanRecipe.internalCreate(B
    eanRecipe.java:706)
    at
    org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractReci
    pe.java:64)
    at
    org.apache.aries.blueprint.container.BlueprintRepository.createI
    nstances(BlueprintRepository.java:219)
    at
    org.apache.aries.blueprint.container.BlueprintRepository.createA
    ll(BlueprintRepository.java:147)
    at
    org.apache.aries.blueprint.container.BlueprintContainerImpl.inst
    antiateEagerComponents(BlueprintContainerImpl.java:641)
    

Problem conclusion

Temporary fix

Comments

APAR Information

  • APAR number

    PM45487

  • Reported component name

    WEBS APP SERV N

  • Reported component ID

    5724H8800

  • Reported release

    800

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2011-08-11

  • Closed date

    2011-10-27

  • Last modified date

    2011-10-27

  • 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

[{"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:
27 October 2021