I am trying to create an Advice for sun.nio.ch.NioSocketImpl, which is in Platform classloader, using ForAdvice#include to be able to use my own class in the Advice (I want to keep data in a map between two Advices - timestamps for #connect and #close socket). Unfortunately, the class was not found.
java.lang.NoClassDefFoundError: pbouda/agents/socket/advice/SocketLifespanKeeper
new AgentBuilder.Default()
.disableClassFormatChanges()
.with(RedefinitionStrategy.RETRANSFORMATION)
.ignore(none())
.type(named("sun.nio.ch.NioSocketImpl"))
.transform(new AgentBuilder.Transformer.ForAdvice()
.include(SocketAgent.class.getClassLoader())
.advice(connectMatcher, "pbouda.agents.socket.advice.NioSocketConnectAdvice"))
.installOn(inst);
Is it even possible for classes that are in boot and platform classloaders?