glassfish
  1. glassfish
  2. GLASSFISH-3721

Must allow TopLink Essentials to function in JBoss despite SPI violation on app server

    Details

    • Type: Bug Bug
    • Status: Open
    • Priority: Minor Minor
    • Resolution: Unresolved
    • Affects Version/s: 9.0pe
    • Fix Version/s: not determined
    • Component/s: entity-persistence
    • Labels:
      None
    • Environment:

      Operating System: All
      Platform: All

    • Issuezilla Id:
      3,721
    • Status Whiteboard:
      Hide

      as91ur1-na as911-na

      Show
      as91ur1-na as911-na

      Description

      Symptom:-
      NPE is thrown in pre-deploy stage, the following stack trace shows detail
      [java] 15:51:27,553 ERROR [STDERR] java.lang.NullPointerException
      [java] 15:51:27,555 ERROR [STDERR] at
      org.jboss.mx.loading.RepositoryClassLoader.findClass(RepositoryClassLoader.java:623)
      [java] 15:51:27,556 ERROR [STDERR] at
      java.lang.ClassLoader.loadClass(ClassLoader.java:306)
      [java] 15:51:27,556 ERROR [STDERR] at
      org.jboss.mx.loading.RepositoryClassLoader.loadClassImpl(RepositoryClassLoader.java:467)
      [java] 15:51:27,557 ERROR [STDERR] at
      org.jboss.mx.loading.RepositoryClassLoader.loadClass(RepositoryClassLoader.java:408)
      [java] 15:51:27,557 ERROR [STDERR] at
      java.lang.ClassLoader.loadClass(ClassLoader.java:251)
      [java] 15:51:27,558 ERROR [STDERR] at
      oracle.toplink.ejb.cmp3.persistence.PersistenceUnitProcessor.isEntity(PersistenceUnitProcessor.java:270)
      [java] 15:51:27,558 ERROR [STDERR] at
      oracle.toplink.internal.ejb.cmp3.metadata.MetadataProcessor.buildEntityClassSetFromAnnotations(MetadataProcessor.java:507)
      [java] 15:51:27,559 ERROR [STDERR] at
      oracle.toplink.internal.ejb.cmp3.metadata.MetadataProcessor.buildEntityList(MetadataProcessor.java:477)
      [java] 15:51:27,560 ERROR [STDERR] at
      oracle.toplink.ejb.cmp3.persistence.PersistenceUnitProcessor.processORMetadata(PersistenceUnitProcessor.java:322)
      [java] 15:51:27,561 ERROR [STDERR] at
      oracle.toplink.internal.ejb.cmp3.EntityManagerSetupImpl.predeploy(EntityManagerSetupImpl.java:708)
      [java] 15:51:27,562 ERROR [STDERR] at
      oracle.toplink.ejb.cmp3.EntityManagerFactoryProvider.createContainerEntityManagerFactory(EntityManagerFactoryProvider.java:212)

      Root cause:-
      The temporary class loader provided by JBOSS is not working.

      Workaround in toplink:-
      1. We need catch the NPE, turn off dynamic weaving and log warning message;
      2. We also need figure out the substitute way to build those objects that rely
      on temporary class loader, for example build entity list, populate project and
      its associated class descripor etc.

      An Oracle Symptom:-
      NPE is thrown in pre-deploy stage, the following stack trace shows detail
      [java] 15:51:27,553 ERROR [STDERR] java.lang.NullPointerException
      [java] 15:51:27,555 ERROR [STDERR] at
      org.jboss.mx.loading.RepositoryClassLoader.findClass(RepositoryClassLoader.java:623)
      [java] 15:51:27,556 ERROR [STDERR] at
      java.lang.ClassLoader.loadClass(ClassLoader.java:306)
      [java] 15:51:27,556 ERROR [STDERR] at
      org.jboss.mx.loading.RepositoryClassLoader.loadClassImpl(RepositoryClassLoader.java:467)
      [java] 15:51:27,557 ERROR [STDERR] at
      org.jboss.mx.loading.RepositoryClassLoader.loadClass(RepositoryClassLoader.java:408)
      [java] 15:51:27,557 ERROR [STDERR] at
      java.lang.ClassLoader.loadClass(ClassLoader.java:251)
      [java] 15:51:27,558 ERROR [STDERR] at
      oracle.toplink.ejb.cmp3.persistence.PersistenceUnitProcessor.isEntity(PersistenceUnitProcessor.java:270)
      [java] 15:51:27,558 ERROR [STDERR] at
      oracle.toplink.internal.ejb.cmp3.metadata.MetadataProcessor.buildEntityClassSetFromAnnotations(MetadataProcessor.java:507)
      [java] 15:51:27,559 ERROR [STDERR] at
      oracle.toplink.internal.ejb.cmp3.metadata.MetadataProcessor.buildEntityList(MetadataProcessor.java:477)
      [java] 15:51:27,560 ERROR [STDERR] at
      oracle.toplink.ejb.cmp3.persistence.PersistenceUnitProcessor.processORMetadata(PersistenceUnitProcessor.java:322)
      [java] 15:51:27,561 ERROR [STDERR] at
      oracle.toplink.internal.ejb.cmp3.EntityManagerSetupImpl.predeploy(EntityManagerSetupImpl.java:708)
      [java] 15:51:27,562 ERROR [STDERR] at
      oracle.toplink.ejb.cmp3.EntityManagerFactoryProvider.createContainerEntityManagerFactory(EntityManagerFactoryProvider.java:212)

      Root cause:-
      The temporary class loader provided by JBOSS is not working.

      Workaround in toplink:-
      1. We need catch the NPE, turn off dynamic weaving and log warning message;
      2. We also need figure out the substitute way to build those objects that rely
      on temporary class loader, for example build entity list, populate project and
      its associated class descripor etc.

      An Oracle bug 6460732 has been entered. has been entered.

        Activity

        Hide
        gfbugbridge added a comment -

        <BT6612288>

        Show
        gfbugbridge added a comment - <BT6612288>
        Hide
        tware added a comment -

        This issue occurs because JBoss violates the SPI and does not allow the temp
        loader infrastructure to work.

        Show
        tware added a comment - This issue occurs because JBoss violates the SPI and does not allow the temp loader infrastructure to work.
        Hide
        tware added a comment -

        updated subject line to clarify the root of the bug

        Show
        tware added a comment - updated subject line to clarify the root of the bug
        Hide
        tware added a comment -

        Updating target milestone

        Show
        tware added a comment - Updating target milestone
        Hide
        mobrien added a comment -

        Hi,
        The secondary NPE from the JBoss UCL3 classLoader is fixed as part of the
        following bug filed in EclipseLink

        http://bugs.eclipse.org/229634

        There is a static weaving and target-server workaround for JBoss 4.2.2 at...

        http://wiki.eclipse.org/EclipseLink/Examples/JPA/Migration/JBoss

        EclipseLink will be the RI for JPA2.0 and will be the default JPA provider
        in GlassFish V3 going forward.

        http://blogs.sun.com/theaquarium/entry/eclipselink_in_glassfish_v3_as

        /michael

        Show
        mobrien added a comment - Hi, The secondary NPE from the JBoss UCL3 classLoader is fixed as part of the following bug filed in EclipseLink http://bugs.eclipse.org/229634 There is a static weaving and target-server workaround for JBoss 4.2.2 at... http://wiki.eclipse.org/EclipseLink/Examples/JPA/Migration/JBoss EclipseLink will be the RI for JPA2.0 and will be the default JPA provider in GlassFish V3 going forward. http://blogs.sun.com/theaquarium/entry/eclipselink_in_glassfish_v3_as /michael
        Hide
        Mitesh Meswani added a comment -

        Will not be fixed for V2.1

        Show
        Mitesh Meswani added a comment - Will not be fixed for V2.1
        Hide
        sanandal added a comment -

        "Reclassifying as P4 because this issue is not deemed "must fix" for this v2.1
        release whose primary release driver is SailFin.
        This issue will be scrubbed after this release and will be given the right
        priority for the next release."

        Show
        sanandal added a comment - "Reclassifying as P4 because this issue is not deemed "must fix" for this v2.1 release whose primary release driver is SailFin. This issue will be scrubbed after this release and will be given the right priority for the next release."
        Hide
        Tom Mueller added a comment -

        Bulk change to set fix version to "not determined" where the issue is open but the value is for a released version.

        Show
        Tom Mueller added a comment - Bulk change to set fix version to "not determined" where the issue is open but the value is for a released version.

          People

          • Assignee:
            tware
            Reporter:
            kylechen
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated: