Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jakartaee-platform-dev] [jakartaee-spec-project-leads] Jakarta EE common functionality


The classic solution is essentially by splitting out functionality into new specs, which are then used by other specs. Perhaps the best example is CDI itself, which is in its bare essence Managed Beans from Faces and the bean model from Enterprise Beans being split out and merged.

While this has advantages, there's some disadvantages too.

For example, with Managed Beans in Faces, we could add things to it (or its lookup mechanism) that Faces needed. Now that Managed Beans are gone, we need to convince the CDI team to add certain things for us. At the moment CDI is nearly entirely focussed on CDI Lite, so things having to do with decorating (for instance) may, understandably, not be their biggest priority. But, this is what Faces needs after we just completely removed the Managed Bean system in it.

Of course the above is just a tiny example, but the point is that when there's common functionality, there should maybe be some shared responsibility and understanding for that common functionality.

If Jakarta Annotations would contain shared code, moved to there from say Security and REST, then there should maybe not just be a Jakarta Annotations team, but automatically Security and REST committers should also be Jakarta Annotation committers. In practice we already see some of the same people on different projects (myself for example ;)), but maybe there should be some guidelines for this.

Kind regards,
Arjan Tijms

On Mon, Sep 13, 2021 at 11:18 AM Dmitry Kornilov <dmitry.kornilov@xxxxxxxxxx> wrote:



On the last platform meeting we touched a topic of a common functionality across different specifications in Jakarta EE.  Currently specifications are not using much shared code. As the result, some functionality is implemented differently in different specifications which makes the platform APIs inconsistent. We've discussed the CDI object model API which can be used in other specifications such as JSON Binding without adding a hard dependency to CDI. Servlet team also said that they were planning to add a similar API to their spec. Another example is generic type holder object which is used in CDI, JSON-B and maybe some other specifications. It needs to be resolved at the platform level and there are many ways how it can be done. We can create additional specifications, move shared code to a separate repository and release it as part of the platform project, or move code to Jakarta Annotations which is de-facto only one specifications containing some shared code.  There could be more options.


I would like to initiate a community discussion around this topic. Please post your ideas to this thread. I am planning to create a meeting when there are enough ideas for discussion, possibly next week.




jakartaee-spec-project-leads mailing list
To unsubscribe from this list, visit

Back to the top