hi!
Right now I am looking into why the itests/failover fails locally.
Might be something stupid I broke, not sure.
Anyway, while looking at it I found the following in the log
Juli 24, 2026 8:10:14 PM
org.apache.openejb.javaagent.Agent$BootstrapTransformer bootstrap
WARNUNG: Failed to invoke bootstrap: jakarta/persistence/spi/PersistenceUnitInfo
java.lang.NoClassDefFoundError: jakarta/persistence/spi/PersistenceUnitInfo
at java.base/java.lang.Class.getDeclaredMethods0(Native Method)
at java.base/java.lang.Class.privateGetDeclaredMethods(Class.java:3402)
at java.base/java.lang.Class.getMethodsRecursive(Class.java:3543)
at java.base/java.lang.Class.getMethod0(Class.java:3529)
at java.base/java.lang.Class.getMethod(Class.java:2225)
at
org.apache.openejb.javaagent.Agent$BootstrapTransformer.bootstrap(Agent.java:294)
at
org.apache.openejb.javaagent.Agent$BootstrapTransformer.transform(Agent.java:265)
at
java.instrument/java.lang.instrument.ClassFileTransformer.transform(ClassFileTransformer.java:244)
at
java.instrument/sun.instrument.TransformerManager.transform(TransformerManager.java:188)
at
java.instrument/sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:541)
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
at
java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)
at
java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:862)
at
java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:760)
at
java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:681)
at
java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:639)
at
java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:467)
at
java.base/sun.launcher.LauncherHelper.loadMainClass(LauncherHelper.java:808)
at
java.base/sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:703)
Caused by: java.lang.ClassNotFoundException:
jakarta.persistence.spi.PersistenceUnitInfo
at
java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
at
java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
... 23 more
This happens because the JavaAgent gets attached to the bootstrap classpath. So
that very jar which winds up getting attached needs to have jakarta.persistence
available. It seems that's not the case.
Likely only a test setup issue as we would have seen this in production
otherwise.
LieGrue,
strub