Hi,

I think, that it is a shading error on deltaspike side.
Notification should still be in javax namespace: [1]

I refined the relocation patterns (see [2]) via a PR after 1.9.6 but
there is no 1.9.7 or 2.0.0 yet. Best to ask on the deltaspike list, I
guess.

Gruß
Richard


[1]
https://docs.oracle.com/en/java/javase/17/docs/api/java.management/javax/management/Notification.html

[2] https://issues.apache.org/jira/browse/DELTASPIKE-1434

Am Mittwoch, dem 12.07.2023 um 17:14 +0200 schrieb tomee-u...@web.de:
> Hi guys,
> 
> I'm updating our project from TomEE 8 to TomEE 9.
> 
> It compiles but our test framework is unhappy during runtime.
> 
> There is some magic which I don't understand in detail.
> 
> First we tell the EJBContainer to use deltaspike:
> 
>    System.setProperty("openejb.deployments.classpath.include",
> ".*deltaspike.*");
> 
> The the EJBContainer will be created.
> 
>    ejbContainer =
> jakarta.ejb.embeddable.EJBContainer.createEJBContainer();
> 
> When checking the module deltaspike-core-impl-1.9.6 which is in the
> classpath an excpetion will be thrown.
> 
> jakarta.ejb.EJBException: No EJBContainer provider available
> Provider named org.apache.openejb.OpenEjbContainer$Provider threw
> unexpected exception at create EJBContainer:
> java.lang.NoClassDefFoundError
> java.lang.NoClassDefFoundError: jakarta/management/Notification
>         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.getDeclaredMethods(Class.java:2504)
>         at
> org.apache.xbean.finder.AnnotationFinder.readClassDef(AnnotationFinde
> r.java:1203)
>         at
> org.apache.xbean.finder.AnnotationFinder.linkInterfaces(AnnotationFin
> der.java:440)
>         at
> org.apache.xbean.finder.AnnotationFinder.enableFindImplementations(An
> notationFinder.java:254)
> [...]
> 
> Caused by: java.lang.ClassNotFoundException:
> jakarta.management.Notification
>         at
> org.apache.openejb.core.TempClassLoader.loadClass(TempClassLoader.jav
> a:186)
>         at
> org.apache.openejb.core.TempClassLoader.loadClass(TempClassLoader.jav
> a:83)
>         ... 93 more
> 
> 
> The following providers:
> org.apache.tomee.embedded.EmbeddedTomEEContainer$EmbeddedTomEEContain
> erProvider
> Returned null from createEJBContainer call.
> 
> My understanding is this class jakarta.management.Notification is not
> existing. It should be still javax.management.Notification.
> 
> def deltaSpikeVersion = '1.9.6'
> 
>     testImplementation 'org.apache.tomee:tomee-embedded:9.1.0'
> 
>     testImplementation 'org.apache.deltaspike.cdictrl:deltaspike-
> cdictrl-api:' + deltaSpikeVersion
> //    testImplementation 'org.apache.deltaspike.cdictrl:deltaspike-
> cdictrl-owb:' + deltaSpikeVersion
>     testImplementation 'org.apache.deltaspike.cdictrl:deltaspike-
> cdictrl-owb:' + deltaSpikeVersion + ':jakarta'
>     testImplementation 'org.apache.deltaspike.core:deltaspike-core-
> api:' + deltaSpikeVersion
>     testImplementation 'org.apache.deltaspike.core:deltaspike-core-
> impl:' + deltaSpikeVersion
> //    testImplementation 'org.apache.deltaspike.modules:deltaspike-
> servlet-module-api:' + deltaSpikeVersion
>     testImplementation 'org.apache.deltaspike.modules:deltaspike-
> servlet-module-api:' + deltaSpikeVersion + ':jakarta'
> //    testImplementation 'org.apache.deltaspike.modules:deltaspike-
> servlet-module-impl:' + deltaSpikeVersion
>     testImplementation 'org.apache.deltaspike.modules:deltaspike-
> servlet-module-impl:' + deltaSpikeVersion + ':jakarta'
>     testImplementation 'org.apache.deltaspike.test:test-utils:' +
> deltaSpikeVersion
> 
> Does anybody have an idea what I can do?
> 
> Thanks,
> Markus
> 
> 

Reply via email to