In the Platform Specification, I find that EJB CMP and BMP are
only mentioned in section 12.2.1, Jakarta Persistence. The entire
text of that section is:
12.2.1. Jakarta Persistence
Jakarta Persistence provides a much richer set of
modeling capabilities and object/relational mapping
capabilities than
EJB CMP entity beans and is significantly easier to use.
Support for EJB CMP and BMP entity beans has
been made optional with the Java EE 7 release. Support for
EJB CMP 1.1
entity beans has been optional since Java EE 5. Applications
are
strongly encouraged to migrate applications using EJB entity
beans to
Jakarta Persistence.
As we had previously discussed dropping requirements in CMP and
BMT, but this not implemented, I propose the text be modified as
following:
12.2.1. Jakarta Persistence
Jakarta Persistence provides a much richer set of
modeling capabilities and object/relational mapping capabilities
than
EJB CMP entity beans and is significantly easier to use.
Support for Jakarta EJB CMP was made
optional in Java EE 5 and BMP was made optional in Java EE 7.
In Java EE 10, these persistence modes are no longer required
by the platform. Compatible products may continue to support
these persistence modes in Jakarta EE 10. Compatible products
supporting Enterprise Java Beans CMP and BMP must meet the
requirements described in the Enterprise Java Beans
specification for CMP and BMP and pass the appropriate
compatibility tests included in the Jakarta EE 10 Platform
TCK. These tests are supported in the Jakarta EE 10 Platform
TCK. Enterprise Java Beans, CMP and BMP will be deprecated for
removal in a future release.
GlassFish does currently support these modes, and it is my hope
that this will allow us to maintain the feature for products
that wish to continue using it -- announce the deprecation
(hopefully in EE 11) -- and finally allow us to certify
compatible implementations that do not include support for BMP
and CMP. No changes would be made to the EJB specification and
the feature still exists and is defined by the component
specification. We're just removing the Platform requirement.
If there is general agreement in this direction, I could start
a PR to begin our discussion on this text. If someone else would
like to pick this up, I'm happy to step back or put this on hold
for EE 11.
-- Ed