[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[ejb-dev] EJB 4.0 should not support the new Concurrency 3.0 annotations (from Jakarta EE 10), correct?
|
It has come to my
attention that the new Concurrency 3.0 TCK for Jakarta EE 10 has placed
a new feature requirement on Jakarta Enterprise Beans (EJB) 4.0... but
it doesn't seem that a vendor should be required to support that since
it is not part of the EJB 4.0 specification (which was Jakarta EE 9).
Specifically,
Concurrency 3.0 adds the following new annotations:
jakarta.enterprise.concurrent.ContextServiceDefinition
jakarta.enterprise.concurrent.ManagedExecutorDefinition
jakarta.enterprise.concurrent.ManagedScheduledExecutorDefinition
jakarta.enterprise.concurrent.ManagedThreadFactoryDefinition
With
the corresponding new elements in the Jakarta EE 10 platform schema (jakartaee_10.xsd)
<context-service>
<managed-executor>
<managed-scheduled-executor>
<managed-thread-factory>
Since
none of these elements would be supported in the ejb-jar.xml file, it seems
very inconsistent to then turn around and support the same function provided
via the annotations.
The new XML DD elements were added in jakartaee_10.xsd, which should not
be part of ejb-jar_4_0.xsd, since it must remain compatible with Jakarta
EE 9, so should reference jakartaee_9.xsd.
Now, it appears that the Jakarta EE 10 platform work has accidentally updated
the ejb-jar_4_0.xsd here:
https://github.com/eclipse-ee4j/jakartaee-schemas/blob/a0d2be5707011106d6531b5343668d737d13a0d6/xml/src/ejb-jar_4_0.xsds#L74
So, I've opened this issue to have that removed:
https://github.com/eclipse-ee4j/jakartaee-schemas/issues/34
Two different formats of the ejb-jar.xml schema should not exist, as it
may result in EJB 4.0 applications that cannot be installed consistently
on any EJB implementation server. This same issue may exist for other schemas
as well, as EJB is not the only spec that is not providing a revision for
Jakarta EE 10.
Does anyone disagree with my interpretation of the specifications here?
Should EJB 4.0 implementations be required to support these new Concurrency
3.0 annotations, despite the fact that the equivalent DD elements may not
be specified in ejb-jar.xml?
Should we request that the Concurrency 3.0 TCK remove tests with these
annotations on EJBs?
It
would be perfectly fine to inject one of these resources into an EJB using
@Resource (i.e. <resource-env-ref>), it just should not be possible
to define one of them on an EJB using the *Definition annotations, since
those don't exist in Jakarta EE 9.
There may be other issues that arise like this, as I believe both the Common
Annotations and Interceptors specifications both have revisions for Jakarta
EE 10, and the EJB 4.0 specification would not address any new features,
since it would still reference the older levels of those specifications.
At the moment, I'm not aware of any specific problem though; this
Concurrency 3.0 change is the first place I've seen an issue.
-- Tracy Burroughs (tkb@xxxxxxxxxx)
-- WebSphere Application Server Development
-- IBM Rochester, Dept WG8A H315/050-2
-- 2800 37th Street NW, Rochester MN 55901-4441