Pinpoint java agent 3.0.4 is not compatible with JBOSS Apache Karaf / Fuse OSGi environments.
Prerequisites
Please check the FAQ, and search existing issues for similar questions before creating a new issue.YOU MAY DELETE THIS PREREQUISITES SECTION.
What version of pinpoint are you using?
Pinpoint java agent 3.0.4
Describe the bug
we are trying to upgrade Pinpoint from version 2.5.2 to v3.0.4. we have JBOSS application running with Apache Karaf / Fuse OSGi environments. agent silently fails during application start up with below exceptions -
ClassNotFoundException: jakarta.servlet.AsyncListener ClassNotFoundException: com.navercorp.pinpoint.bootstrap.instrument.Instrumentor ClassNotFoundException: com.navercorp.pinpoint.common.util.VarArgs ClassNotFoundException: com.navercorp.pinpoint.bootstrap.plugin.util.InstrumentUtils ClassNotFoundException: com.navercorp.pinpoint.bootstrap.async.AsyncContextAccessor ClassNotFoundException: com.navercorp.pinpoint.bootstrap.config.Filter
main issue is having ClassNotFoundException: jakarta.servlet.AsyncListener exception
OSGi sees those references → tries to load Jakarta classes → but Fuse only has javax.
✔ Pinpoint injects bytecode containing references to Jakarta async classes ✔ It injects references to bootstrap-only classes (Instrumentor, Filter, VarArgs, ExecutionPolicy, etc.) ✔ OSGi tries to load these inside bundles (ActiveMQ, CXF, Hawtio) ✔ OSGi cannot see bootstrap classloader ✔ Therefore: CNFE is unavoidable
Expected behavior
v3.0.4 should be compatible with OSGi class loading
Source: pinpoint-apm/pinpoint