rzo1 opened a new pull request, #2952: URL: https://github.com/apache/tomee/pull/2952
Resolves the open sub-tasks of [TOMEE-3234](https://issues.apache.org/jira/browse/TOMEE-3234): the examples now depend on the generated Server/API BOMs (`org.apache.tomee.bom:tomee-<flavor>-api` as `provided`, `org.apache.tomee.bom:tomee-<flavor>` as `test`) instead of `jakartaee-api` + `openejb-core`/`openejb-cxf*` and hand-picked spec jars. One commit per example, each referencing its JIRA (examples without a sub-task reference TOMEE-3234). All JIRAs target 11.0.0. Flavor: `webprofile` by default, `plus` for JMS/JAX-WS/JCA, `plume` for EclipseLink, `microprofile` for MicroProfile APIs. ### Notable changes - **`tomee-jersey-eclipselink`** was broken (Jersey 1.12, unpublished EclipseLink 3.0.3 artifacts) and disabled in `examples/pom.xml`. Ported to Jersey 4.0.2 on TomEE Plume (EclipseLink comes from the server), `openejb.jaxrs.on=false` keeps CXF out, the test now deploys the real `web.xml` plus the Jersey libs. Re-enabled in the reactor. - **`rest-cdi`**: `tomee-security` is excluded from the test classpath. Its CDI extension observes `@Initialized(ApplicationScoped.class) ServletContext` and NPEs on the ApplicationComposer's lightweight `ServletContext` (`getServletRegistrations()` returns `null`). The beans also got scope annotations so the packaged war works without the test's `cdi = true`. - The four `import-database-*` examples have no Jakarta EE dependencies and are unchanged. ### Testing Each example was run with `mvn verify` against locally built `main` artifacts; all pass. `simple-ear` needs `mvn install` (its Arquillian test picks up the EAR of a sibling module) and passes that way. <details> <summary>Migrated examples</summary> | Example | JIRA | Flavor | |---|---|---| | `access-timeout-meta` | [TOMEE-3544](https://issues.apache.org/jira/browse/TOMEE-3544) | webprofile | | `activemq-multiple-brokers` | [TOMEE-3234](https://issues.apache.org/jira/browse/TOMEE-3234) | plus | | `alternate-descriptors` | [TOMEE-3545](https://issues.apache.org/jira/browse/TOMEE-3545) | webprofile | | `application-composer` | [TOMEE-3547](https://issues.apache.org/jira/browse/TOMEE-3547) | webprofile | | `applicationexception` | [TOMEE-3548](https://issues.apache.org/jira/browse/TOMEE-3548) | webprofile | | `arquillian-jpa` | [TOMEE-3549](https://issues.apache.org/jira/browse/TOMEE-3549) | webprofile | | `async-methods` | [TOMEE-3550](https://issues.apache.org/jira/browse/TOMEE-3550) | webprofile | | `async-postconstruct` | [TOMEE-3551](https://issues.apache.org/jira/browse/TOMEE-3551) | webprofile | | `async-servlet` | [TOMEE-3552](https://issues.apache.org/jira/browse/TOMEE-3552) | webprofile | | `bean-validation-design-by-contract` | [TOMEE-3553](https://issues.apache.org/jira/browse/TOMEE-3553) | webprofile | | `cdi-alternative-and-stereotypes` | [TOMEE-3554](https://issues.apache.org/jira/browse/TOMEE-3554) | webprofile | | `cdi-application-scope` | [TOMEE-3555](https://issues.apache.org/jira/browse/TOMEE-3555) | webprofile | | `cdi-basic` | [TOMEE-3556](https://issues.apache.org/jira/browse/TOMEE-3556) | webprofile | | `cdi-dynamic-inject` | [TOMEE-3557](https://issues.apache.org/jira/browse/TOMEE-3557) | webprofile | | `cdi-ejbcontext-jaas` | [TOMEE-3558](https://issues.apache.org/jira/browse/TOMEE-3558) | webprofile | | `cdi-events` | [TOMEE-3559](https://issues.apache.org/jira/browse/TOMEE-3559) | webprofile | | `cdi-interceptors` | [TOMEE-3560](https://issues.apache.org/jira/browse/TOMEE-3560) | webprofile | | `cdi-produces-disposes` | [TOMEE-3561](https://issues.apache.org/jira/browse/TOMEE-3561) | webprofile | | `cdi-produces-field` | [TOMEE-3562](https://issues.apache.org/jira/browse/TOMEE-3562) | webprofile | | `cdi-qualifier` | [TOMEE-3563](https://issues.apache.org/jira/browse/TOMEE-3563) | webprofile | | `cdi-request-scope` | [TOMEE-3565](https://issues.apache.org/jira/browse/TOMEE-3565) | webprofile | | `cdi-session-scope` | [TOMEE-3566](https://issues.apache.org/jira/browse/TOMEE-3566) | webprofile | | `client-resource-lookup-preview` | [TOMEE-3567](https://issues.apache.org/jira/browse/TOMEE-3567) | plus | | `cloud-tomee-azure` | [TOMEE-3568](https://issues.apache.org/jira/browse/TOMEE-3568) | webprofile | | `component-interfaces` | [TOMEE-3569](https://issues.apache.org/jira/browse/TOMEE-3569) | webprofile | | `concurrency-utils` | [TOMEE-3570](https://issues.apache.org/jira/browse/TOMEE-3570) | webprofile | | `connector-ear` | [TOMEE-3571](https://issues.apache.org/jira/browse/TOMEE-3571) | plus | | `connector-war` | [TOMEE-3572](https://issues.apache.org/jira/browse/TOMEE-3572) | plus | | `cucumber-jvm` | [TOMEE-3573](https://issues.apache.org/jira/browse/TOMEE-3573) | webprofile | | `custom-injection` | [TOMEE-3574](https://issues.apache.org/jira/browse/TOMEE-3574) | webprofile | | `datasource-ciphered-password` | [TOMEE-3575](https://issues.apache.org/jira/browse/TOMEE-3575) | webprofile | | `datasource-definition` | [TOMEE-3576](https://issues.apache.org/jira/browse/TOMEE-3576) | webprofile | | `datasource-versioning` | [TOMEE-3577](https://issues.apache.org/jira/browse/TOMEE-3577) | webprofile | | `decorators` | [TOMEE-3578](https://issues.apache.org/jira/browse/TOMEE-3578) | webprofile | | `dynamic-dao-implementation` | [TOMEE-3583](https://issues.apache.org/jira/browse/TOMEE-3583) | webprofile | | `dynamic-datasource-routing` | [TOMEE-3584](https://issues.apache.org/jira/browse/TOMEE-3584) | webprofile | | `dynamic-implementation` | [TOMEE-3585](https://issues.apache.org/jira/browse/TOMEE-3585) | webprofile | | `dynamic-proxy-to-access-mbean` | [TOMEE-3586](https://issues.apache.org/jira/browse/TOMEE-3586) | webprofile | | `ear-testing` | [TOMEE-3587](https://issues.apache.org/jira/browse/TOMEE-3587) | webprofile | | `ejb-examples` | [TOMEE-3588](https://issues.apache.org/jira/browse/TOMEE-3588) | plus | | `ejb-remote-call` | [TOMEE-3590](https://issues.apache.org/jira/browse/TOMEE-3590) | webprofile | | `ejb-remote-call-2` | [TOMEE-3589](https://issues.apache.org/jira/browse/TOMEE-3589) | webprofile | | `ejb-webservice` | [TOMEE-3591](https://issues.apache.org/jira/browse/TOMEE-3591) | plus | | `helloworld-weblogic` | [TOMEE-3595](https://issues.apache.org/jira/browse/TOMEE-3595) | webprofile | | `injection-of-datasource` | [TOMEE-3597](https://issues.apache.org/jira/browse/TOMEE-3597) | webprofile | | `injection-of-ejbs` | [TOMEE-3598](https://issues.apache.org/jira/browse/TOMEE-3598) | webprofile | | `injection-of-entitymanager` | [TOMEE-3599](https://issues.apache.org/jira/browse/TOMEE-3599) | webprofile | | `injection-of-env-entry` | [TOMEE-3600](https://issues.apache.org/jira/browse/TOMEE-3600) | webprofile | | `interceptors` | [TOMEE-3601](https://issues.apache.org/jira/browse/TOMEE-3601) | webprofile | | `jakarta-data-repository` | [TOMEE-3234](https://issues.apache.org/jira/browse/TOMEE-3234) | webprofile | | `java-modules` | [TOMEE-3602](https://issues.apache.org/jira/browse/TOMEE-3602) | webprofile | | `jaxrs-filter` | [TOMEE-3604](https://issues.apache.org/jira/browse/TOMEE-3604) | webprofile | | `jpa-and-jakarta-data` | [TOMEE-3234](https://issues.apache.org/jira/browse/TOMEE-3234) | webprofile | | `jpa-eclipselink` | [TOMEE-3606](https://issues.apache.org/jira/browse/TOMEE-3606) | plume | | `jpa-enumerated` | [TOMEE-3607](https://issues.apache.org/jira/browse/TOMEE-3607) | webprofile | | `jpa-hibernate-arquillian` | [TOMEE-3234](https://issues.apache.org/jira/browse/TOMEE-3234) | plus | | `jsf-cdi-and-ejb` | [TOMEE-3609](https://issues.apache.org/jira/browse/TOMEE-3609) | webprofile | | `jsonb-configuration` | [TOMEE-3611](https://issues.apache.org/jira/browse/TOMEE-3611) | webprofile | | `jsonb-custom-serializer` | [TOMEE-3612](https://issues.apache.org/jira/browse/TOMEE-3612) | webprofile | | `junit5-application-composer` | [TOMEE-3613](https://issues.apache.org/jira/browse/TOMEE-3613) | webprofile | | `junit5-arquillian-multiple-tomee` | [TOMEE-3614](https://issues.apache.org/jira/browse/TOMEE-3614) | webprofile | | `junit5-arquillian-simple-websockets` | [TOMEE-3615](https://issues.apache.org/jira/browse/TOMEE-3615) | webprofile | | `lookup-of-ejbs` | [TOMEE-3617](https://issues.apache.org/jira/browse/TOMEE-3617) | webprofile | | `lookup-of-ejbs-with-descriptor` | [TOMEE-3616](https://issues.apache.org/jira/browse/TOMEE-3616) | webprofile | | `moviefun` | [TOMEE-3620](https://issues.apache.org/jira/browse/TOMEE-3620) | webprofile | | `movies-complete` | [TOMEE-3622](https://issues.apache.org/jira/browse/TOMEE-3622) | webprofile | | `movies-complete-meta` | [TOMEE-3621](https://issues.apache.org/jira/browse/TOMEE-3621) | webprofile | | `mp-config-example` | [TOMEE-3623](https://issues.apache.org/jira/browse/TOMEE-3623) | microprofile | | `mp-config-source-database` | [TOMEE-3624](https://issues.apache.org/jira/browse/TOMEE-3624) | microprofile | | `mp-custom-healthcheck` | [TOMEE-3625](https://issues.apache.org/jira/browse/TOMEE-3625) | microprofile | | `mp-faulttolerance-fallback` | [TOMEE-3626](https://issues.apache.org/jira/browse/TOMEE-3626) | microprofile | | `mp-faulttolerance-timeout` | [TOMEE-3627](https://issues.apache.org/jira/browse/TOMEE-3627) | microprofile | | `mp-jsonb-configuration` | [TOMEE-3628](https://issues.apache.org/jira/browse/TOMEE-3628) | webprofile | | `mp-jwt-bean-validation` | [TOMEE-3630](https://issues.apache.org/jira/browse/TOMEE-3630) | microprofile | | `mp-jwt-bean-validation-strongly-typed` | [TOMEE-3629](https://issues.apache.org/jira/browse/TOMEE-3629) | microprofile | | `mp-openapi-reader` | [TOMEE-3234](https://issues.apache.org/jira/browse/TOMEE-3234) | microprofile | | `mp-opentelemetry-metrics` | [TOMEE-3234](https://issues.apache.org/jira/browse/TOMEE-3234) | microprofile | | `mp-rest-client` | [TOMEE-3637](https://issues.apache.org/jira/browse/TOMEE-3637) | microprofile | | `multiple-arquillian-adapters` | [TOMEE-3643](https://issues.apache.org/jira/browse/TOMEE-3643) | webprofile | | `multiple-tomee-arquillian` | [TOMEE-3644](https://issues.apache.org/jira/browse/TOMEE-3644) | webprofile | | `persistence-fragment` | [TOMEE-3649](https://issues.apache.org/jira/browse/TOMEE-3649) | webprofile | | `pojo-webservice` | [TOMEE-3650](https://issues.apache.org/jira/browse/TOMEE-3650) | plus | | `realm-in-tomee` | [TOMEE-3653](https://issues.apache.org/jira/browse/TOMEE-3653) | webprofile | | `reload-persistence-unit-properties` | [TOMEE-3654](https://issues.apache.org/jira/browse/TOMEE-3654) | webprofile | | `resources-declared-in-webapp` | [TOMEE-3655](https://issues.apache.org/jira/browse/TOMEE-3655) | webprofile | | `resources-jmx-example` | [TOMEE-3656](https://issues.apache.org/jira/browse/TOMEE-3656) | webprofile | | `rest-applicationcomposer` | [TOMEE-3658](https://issues.apache.org/jira/browse/TOMEE-3658) | webprofile | | `rest-applicationcomposer-mockito` | [TOMEE-3657](https://issues.apache.org/jira/browse/TOMEE-3657) | webprofile | | `rest-cdi` | [TOMEE-3659](https://issues.apache.org/jira/browse/TOMEE-3659) | webprofile (without tomee-security) | | `rest-example` | [TOMEE-3661](https://issues.apache.org/jira/browse/TOMEE-3661) | webprofile | | `rest-example-with-application` | [TOMEE-3660](https://issues.apache.org/jira/browse/TOMEE-3660) | webprofile | | `rest-jaas` | [TOMEE-3662](https://issues.apache.org/jira/browse/TOMEE-3662) | webprofile | | `rest-on-ejb` | [TOMEE-3663](https://issues.apache.org/jira/browse/TOMEE-3663) | webprofile | | `rest-sse-example` | [TOMEE-3664](https://issues.apache.org/jira/browse/TOMEE-3664) | plus | | `rest-xml-json` | [TOMEE-3665](https://issues.apache.org/jira/browse/TOMEE-3665) | webprofile | | `scala-basic` | [TOMEE-3666](https://issues.apache.org/jira/browse/TOMEE-3666) | webprofile | | `schedule-events` | [TOMEE-3667](https://issues.apache.org/jira/browse/TOMEE-3667) | webprofile | | `schedule-expression` | [TOMEE-3668](https://issues.apache.org/jira/browse/TOMEE-3668) | webprofile | | `schedule-methods` | [TOMEE-3670](https://issues.apache.org/jira/browse/TOMEE-3670) | webprofile | | `schedule-methods-meta` | [TOMEE-3669](https://issues.apache.org/jira/browse/TOMEE-3669) | webprofile | | `security-openid` | [TOMEE-3234](https://issues.apache.org/jira/browse/TOMEE-3234) | microprofile | | `server-events` | [TOMEE-3671](https://issues.apache.org/jira/browse/TOMEE-3671) | webprofile | | `simple-cdi-interceptor` | [TOMEE-3677](https://issues.apache.org/jira/browse/TOMEE-3677) | webprofile | | `simple-cmp2` | [TOMEE-3678](https://issues.apache.org/jira/browse/TOMEE-3678) | webprofile | | `simple-ear` | [TOMEE-3679](https://issues.apache.org/jira/browse/TOMEE-3679) | webprofile | | `simple-jms` | [TOMEE-3681](https://issues.apache.org/jira/browse/TOMEE-3681) | plus | | `simple-jms-context` | [TOMEE-3680](https://issues.apache.org/jira/browse/TOMEE-3680) | plus | | `simple-remote-tomcatusers` | [TOMEE-3685](https://issues.apache.org/jira/browse/TOMEE-3685) | webprofile | | `simple-rest` | [TOMEE-3686](https://issues.apache.org/jira/browse/TOMEE-3686) | webprofile | | `simple-singleton` | [TOMEE-3687](https://issues.apache.org/jira/browse/TOMEE-3687) | webprofile | | `simple-stateful` | [TOMEE-3689](https://issues.apache.org/jira/browse/TOMEE-3689) | webprofile | | `simple-stateless` | [TOMEE-3692](https://issues.apache.org/jira/browse/TOMEE-3692) | webprofile | | `simple-stateless-callbacks` | [TOMEE-3690](https://issues.apache.org/jira/browse/TOMEE-3690) | webprofile | | `simple-stateless-with-descriptor` | [TOMEE-3691](https://issues.apache.org/jira/browse/TOMEE-3691) | webprofile | | `singleton-startup-ordering` | [TOMEE-3694](https://issues.apache.org/jira/browse/TOMEE-3694) | webprofile | | `struts` | [TOMEE-3697](https://issues.apache.org/jira/browse/TOMEE-3697) | webprofile | | `telephone-stateful` | [TOMEE-3698](https://issues.apache.org/jira/browse/TOMEE-3698) | webprofile | | `testcase-injection` | [TOMEE-3699](https://issues.apache.org/jira/browse/TOMEE-3699) | webprofile | | `testing-security` | [TOMEE-3704](https://issues.apache.org/jira/browse/TOMEE-3704) | webprofile | | `testing-security-2` | [TOMEE-3700](https://issues.apache.org/jira/browse/TOMEE-3700) | webprofile | | `testing-security-3` | [TOMEE-3701](https://issues.apache.org/jira/browse/TOMEE-3701) | webprofile | | `testing-security-4` | [TOMEE-3702](https://issues.apache.org/jira/browse/TOMEE-3702) | webprofile | | `testing-security-meta` | [TOMEE-3703](https://issues.apache.org/jira/browse/TOMEE-3703) | webprofile | | `testing-transactions` | [TOMEE-3706](https://issues.apache.org/jira/browse/TOMEE-3706) | webprofile | | `testing-transactions-bmt` | [TOMEE-3705](https://issues.apache.org/jira/browse/TOMEE-3705) | webprofile | | `tomee-jersey-eclipselink` | [TOMEE-3707](https://issues.apache.org/jira/browse/TOMEE-3707) | plume (ported to Jersey 4) | | `tomee-jms-portability` | [TOMEE-3708](https://issues.apache.org/jira/browse/TOMEE-3708) | plus | | `transaction-rollback` | [TOMEE-3709](https://issues.apache.org/jira/browse/TOMEE-3709) | webprofile | | `troubleshooting` | [TOMEE-3710](https://issues.apache.org/jira/browse/TOMEE-3710) | webprofile | | `webservice-ssl-client-cert` | [TOMEE-3715](https://issues.apache.org/jira/browse/TOMEE-3715) | plus | | `websocket-jms` | [TOMEE-3234](https://issues.apache.org/jira/browse/TOMEE-3234) | plus | | `websocket-tls-basic-auth` | [TOMEE-3716](https://issues.apache.org/jira/browse/TOMEE-3716) | webprofile | | `xa-datasource` | [TOMEE-3717](https://issues.apache.org/jira/browse/TOMEE-3717) | webprofile | </details> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
