Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-17966

Allow JPA bytecode enhancement to work with applications using java:comp/DefaultDataSource

    XMLWordPrintable

Details

    • Task
    • Resolution: Unresolved
    • Major
    • None
    • None
    • JPA / Hibernate
    • None
    • ---
    • ---

    Description

      To recreate problem, run:

      cd wildfly/testsuite/integration/basic

      1. update persistence.xml to <property name="jboss.as.jpa.classtransformer" value="true"/>
        vim src/test/java/org/jboss/as/test/integration/jpa/webnontxem/persistence.xml
        mvn clean install -Dtest=org.jboss.as.test.integration.jpa.webnontxem.NonTransactionalEmTestCase

      Test deployment failure can be found in the server.log, something like:

      2023-04-26 14:08:58,589 ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool – 83) MSC000001: Failed to start service jboss.persistenceunit."NonTransactionalEmTestCase.war#mypc": org.jboss.msc.service.StartException in service jboss.persistenceunit."NonTransactionalEmTestCase.war#mypc": org.hibernate.boot.registry.classloading.spi.ClassLoadingException: Unable to load class [org.jboss.as.test.integration.jpa.webnontxem.Employee]
      at org.jboss.as.jpa@29.0.0.Alpha1-SNAPSHOT//org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1$1.run(PersistenceUnitServiceImpl.java:199)
      at org.jboss.as.jpa@29.0.0.Alpha1-SNAPSHOT//org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1$1.run(PersistenceUnitServiceImpl.java:129)
      at java.base/java.security.AccessController.doPrivileged(Native Method)
      at org.wildfly.security.elytron-base@2.1.0.Final//org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:664)
      at org.jboss.as.jpa@29.0.0.Alpha1-SNAPSHOT//org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1.run(PersistenceUnitServiceImpl.java:214)
      at org.jboss.threads@2.4.0.Final//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
      at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
      at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
      at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
      at java.base/java.lang.Thread.run(Thread.java:834)
      at org.jboss.threads@2.4.0.Final//org.jboss.threads.JBossThread.run(JBossThread.java:513)
      Caused by: org.hibernate.boot.registry.classloading.spi.ClassLoadingException: Unable to load class [org.jboss.as.test.integration.jpa.webnontxem.Employee]
      at org.hibernate@6.2.1.Final//org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:126)
      at org.hibernate@6.2.1.Final//org.hibernate.boot.model.source.internal.annotations.AnnotationMetadataSourceProcessorImpl.<init>(AnnotationMetadataSourceProcessorImpl.java:101)
      at org.hibernate@6.2.1.Final//org.hibernate.boot.model.process.spi.MetadataBuildingProcess$1.<init>(MetadataBuildingProcess.java:200)
      at org.hibernate@6.2.1.Final//org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:194)
      at org.hibernate@6.2.1.Final//org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1380)
      at org.hibernate@6.2.1.Final//org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1451)
      at org.hibernate@6.2.1.Final//org.hibernate.jpa.HibernatePersistenceProvider.createContainerEntityManagerFactory(HibernatePersistenceProvider.java:142)
      at org.jboss.as.jpa@29.0.0.Alpha1-SNAPSHOT//org.jboss.as.jpa.service.PersistenceUnitServiceImpl.createContainerEntityManagerFactory(PersistenceUnitServiceImpl.java:367)
      at org.jboss.as.jpa@29.0.0.Alpha1-SNAPSHOT//org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1$1.run(PersistenceUnitServiceImpl.java:191)
      ... 10 more
      Caused by: java.lang.ExceptionInInitializerError
      at java.base/java.lang.Class.forName0(Native Method)
      at java.base/java.lang.Class.forName(Class.java:398)
      at org.hibernate@6.2.1.Final//org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:120)
      ... 18 more
      Caused by: java.lang.RuntimeException: unable to get java:app/env/simpleString from JPA deployer
      at deployment.NonTransactionalEmTestCase.war//org.jboss.as.test.integration.jpa.webnontxem.Employee.<clinit>(Employee.java:42)
      ... 21 more
      Caused by: javax.naming.NameNotFoundException: java:comp/env/simpleString
      at org.jboss.as.naming@29.0.0.Alpha1-SNAPSHOT//org.jboss.as.naming.InitialContext$DefaultInitialContext.findContext(InitialContext.java:191)
      at org.jboss.as.naming@29.0.0.Alpha1-SNAPSHOT//org.jboss.as.naming.InitialContext$DefaultInitialContext.lookup(InitialContext.java:235)
      at org.jboss.as.naming@29.0.0.Alpha1-SNAPSHOT//org.jboss.as.naming.NamingContext.lookup(NamingContext.java:193)
      at org.jboss.as.naming@29.0.0.Alpha1-SNAPSHOT//org.jboss.as.naming.NamingContext.lookup(NamingContext.java:189)
      at java.naming/javax.naming.InitialContext.lookup(InitialContext.java:409)
      at java.naming/javax.naming.InitialContext.lookup(InitialContext.java:409)
      at deployment.NonTransactionalEmTestCase.war//org.jboss.as.test.integration.jpa.webnontxem.Employee.<clinit>(Employee.java:40)
      ... 21 more

      Attachments

        Activity

          People

            smarlow1@redhat.com Scott Marlow
            smarlow1@redhat.com Scott Marlow
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: