JaroslavTulach at 02:47, 5 April 2022 - 2022-04-05 02:47:30

←Older revision Revision as of 02:47, 5 April 2022
Line 1: Line 1:
[[CDI]] stands for Contexts and [[Dependency Injection]]. Referenced implementation is provided by [[Weld]]. Used by [[Helidon]] - even in [[NativeImage]] mode.
[[CDI]] stands for Contexts and [[Dependency Injection]]. Referenced implementation is provided by [[Weld]]. Used by [[Helidon]] - even in [[NativeImage]] mode.
 +
 +
[[Helidon]] MP implements the [[MicroProfile]] specification based on various other standard [[JavaEE]] subspecifications including [[CDI]]. Getting [[Weld]] (the reference [[CDI]] specification) running on top of [[NativeImage]] is particularly tricky. Not only [[Weld]] dynamically scans for various annotations, but it also dynamically emits [[bytecode]] for its helper classes during runtime. Solving this required more insight into [[JavaEE]] than available among compiler engineers - not that [[I]] had it initially, but the close co-operation with Tomáš Langer (the [[Helidon]] lead engineer) helped us move forward. Tomáš prepared various trivial [[CDI]] sample projects and [[I]] was then able to get them running on [[NativeImage]] by writing a dedicated '''WeldFeature'''. Once the initial road block was gone the [[Helidon]] team was able to move forward on their own and get their enhanced [[Weld]] running on top of [[NativeImage]].
 +
 +
[[Helidon]] 2.0 [https://medium.com/helidon/announcing-helidon-2-0-19c245f5488a was released] on June 24, 2020. It's [[MicroProfile]] edition (including compatible [[CDI]] implementation) works with [[NativeImage]].

JaroslavTulach: New page: CDI stands for Contexts and Dependency Injection. Referenced implementation is provided by Weld. Used by Helidon - even in NativeImage mode. - 2020-06-29 05:20:44

New page: CDI stands for Contexts and Dependency Injection. Referenced implementation is provided by Weld. Used by Helidon - even in NativeImage mode.

New page

[[CDI]] stands for Contexts and [[Dependency Injection]]. Referenced implementation is provided by [[Weld]]. Used by [[Helidon]] - even in [[NativeImage]] mode.