On 21/11/2017 09:29, Remi Forax wrote:
Hi Alan,
I use jlink plugins for 2 things,
- code generation, i.e. find patterns in the bytecode and optimize them because 
at link time you are in a closed world, so something that was dynamic is not 
anymore.
- just bytecode crawling to find specific annotations to improve startup.

I believe implementation like Weld or Spring should have access to an open API 
to be able to do thing kind of optimizations, imagine, you could create all 
proxies upfront or better use invokedynamic to even avoid proxy creation at all.

The plugin API doesn't have to be complex, it's a read/replace/append of 
bytecode files.

Good work was done in JDK 9 to get the plugin API to its current state. We had hoped to expose it in an incubating module but it didn't happen as it would have required splitting the jdk.jlink module in an awkward way. Yes, it should be revisited.

-Alan

Reply via email to