<!DOCTYPE html><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<br>
<br>
<div class="moz-cite-prefix">On 14/03/2025 12:10, Simone Bordet
wrote:<br>
</div>
<blockquote type="cite" cite="mid:CAFWmRJ0B3QsqxKDL69cuAzdQfqyKzDhTh5YfE=saSX=PFwjvGQ@mail.gmail.com">:
<pre class="moz-quote-pre" wrap="">
With some archeology, I found:
<a class="moz-txt-link-freetext" href="https://urldefense.com/v3/__https://bugs.eclipse.org/bugs/show_bug.cgi?id=347110__;!!ACWV5N9M2RV99hQ!IW-lZcO8m0GajZDPc4BK-QlJTTyR0a8NZNZT4IFVuTZWTd4j0sJZ0MThsyXFb3W1ez6iScbbkrxHxFmx3lbHGnyQ$">https://urldefense.com/v3/__https://bugs.eclipse.org/bugs/show_bug.cgi?id=347110__;!!ACWV5N9M2RV99hQ!IW-lZcO8m0GajZDPc4BK-QlJTTyR0a8NZNZT4IFVuTZWTd4j0sJZ0MThsyXFb3W1ez6iScbbkrxHxFmx3lbHGnyQ$</a> :)
TLDR: Spring had (has?) a mechanism to instrument loaded class, I
assume for dependency injection.
The Spring agent requires custom class loaders to have an
`addTransformer(ClassFileTransformer)` method, hence the dependency of
Jetty's WebAppClassLoader to java.instrument.
</pre>
</blockquote>
Okay, so I think this more about ClassFileTransformer being a
generally useful interface and WebAppClassLoader uses it for users
that wants to instrument at ClassLoader load class time. So Java
agents aren't in the picture, it's just one of the interfaces from
j.l.instrument is being used and so this module needs to be the boot
layer.<br>
<br>
-Alan<br>
</body>
</html>