Description
The test is deployed before the system properties can be setup by the test and as part of the application deployment, the test classes include a persistence provider implementation that looks for system property log.file.location
. Some PersistenceProvider containers may lazily deploy persistence providers on demand when the application actually tries to create a persistence context or persistence unit in which case that works around the failure. Some EE implementations may have hacked around this failure in their TCK porting kits in the past by setting the log.file.location
property before app deployment time which is a valid workaround.
The call stack that we see during deployment that leads to this problem is:
getInstance:260, TSLogger (ee.jakarta.tck.persistence.common.pluggability.altprovider.implementation)
:249, TSLogger (ee.jakarta.tck.persistence.common.pluggability.altprovider.implementation)
callLogger:52, PersistenceProvider (ee.jakarta.tck.persistence.common.pluggability.altprovider.implementation)
:47, PersistenceProvider (ee.jakarta.tck.persistence.common.pluggability.altprovider.implementation)
:42, PersistenceProvider (ee.jakarta.tck.persistence.common.pluggability.altprovider.implementation)
newInstance0:-1, NativeConstructorAccessorImpl (jdk.internal.reflect)
newInstance:77, NativeConstructorAccessorImpl (jdk.internal.reflect)
newInstance:45, DelegatingConstructorAccessorImpl (jdk.internal.reflect)
newInstanceWithCaller:500, Constructor (java.lang.reflect)
newInstance:481, Constructor (java.lang.reflect)
deploy:58, PersistenceProviderHandler (org.jboss.as.jpa.processor)
deploy:32, PersistenceBeginInstallProcessor (org.jboss.as.jpa.processor)
start:165, DeploymentUnitPhaseService (org.jboss.as.server.deployment)
startService:1617, ServiceControllerImpl$StartTask (org.jboss.msc.service)
execute:1580, ServiceControllerImpl$StartTask (org.jboss.msc.service)
run:1438, ServiceControllerImpl$ControllerTask (org.jboss.msc.service)
run:35, ContextClassLoaderSavingRunnable (org.jboss.threads)
safeRun:1990, EnhancedQueueExecutor (org.jboss.threads)
doRunTask:1486, EnhancedQueueExecutor$ThreadBody (org.jboss.threads)
run:1377, EnhancedQueueExecutor$ThreadBody (org.jboss.threads)
run:840, Thread (java.lang)
And the reaction is to reach
log.file.location
setting.