Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdi-dev] CDI Lite compatible extension lead


On Sep 29, 2020, at 10:31 AM, Laird Nelson <ljnelson@xxxxxxxxx> wrote:

On Tue, Sep 29, 2020 at 8:24 AM Ladislav Thon <lthon@xxxxxxxxxx> wrote:
On 29. 09. 20 17:11, Laird Nelson wrote:
What, in the simplest possible terms, are the motivating use cases?

So what are Portable Extensions use cases? :-)

Clearly there is something more, though, or we wouldn't be having these discussions.  What's that extra something?

Hi Laird,

Did you see Antoine’s blog in March?: 

I think that’s a good starting point. There has of course been discussions in other places (e.g. MicroProfile mailing lists,  CDI GitHub isues), at one point in time or the other (sorry I know the fragmentation can be a pain, sorry about that).  It’s been awhile for us to get to sending a proposal as promised, since we had a bunch of other efforts happening in parallel in Jakarta EE that were higher priority (E.g. moving the spec over, establishing MP governance, updating the packages and so on).

A fundamental issue is that build-time injection containers (e.g. Quarkus, Micronaut, Dagger, etc) can not implement the spec as currently defined, and we are trying to contribute back to the spec to change that reality, as well as to improve the ability to optimize in a cloud setting.  A major challenge point, as mentioned in blogs and emails, is portable extensions, which is why you see these proposals for a new build-compatible SPI (work in progress) targeting a future (yet to be defined) lite profile that would enable these use-cases.

Ultimately we would end up with a CDI spec that continues to meet its goal to be generically useful across deployment environments. (today SE & EE, tomorrow adding lightweight micro-service / serverless cloud environments)

It’s also worth noting that project Leyden is planned for future editions of Java SE, so supporting native AOT isn’t just a framework goal, it will at some point be a fundamental part of Java, and CDI should be ready for those users,  if it wishes to remain a widely adopted injection specification:

-Jason

Back to the top