locally failing failover test

"Mark Struberg via dev" <[email protected]> Fri, 24 Jul 2026 20:33:05 +0200
Newsgroups gmane.comp.java.openejb.devel
Message-ID <[email protected]>
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.ja=
va:294)
        at =
org.apache.openejb.javaagent.Agent$BootstrapTransformer.transform(Agent.ja=
va:265)
        at =
java.instrument/java.lang.instrument.ClassFileTransformer.transform(ClassF=
ileTransformer.java:244)
        at =
java.instrument/sun.instrument.TransformerManager.transform(TransformerMan=
ager.java:188)
        at =
java.instrument/sun.instrument.InstrumentationImpl.transform(Instrumentati=
onImpl.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.ja=
va:150)
        at =
java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassL=
oader.java:862)
        at =
java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNul=
l(BuiltinClassLoader.java:760)
        at =
java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinCl=
assLoader.java:681)
        at =
java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoa=
der.java:639)
        at =
java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassL=
oaders.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:80=
8)
        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(BuiltinClassLoa=
der.java:641)
        at =
java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassL=
oaders.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=