Improve tomcat version detection (#11936)

This commit is contained in:
Lauri Tulmin 2024-08-01 21:37:34 +03:00 committed by GitHub
parent f8c383c62e
commit 4d41ca5dbe
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 9 additions and 2 deletions

View File

@ -25,7 +25,13 @@ public class Tomcat10InstrumentationModule extends InstrumentationModule {
@Override @Override
public ElementMatcher.Junction<ClassLoader> classLoaderMatcher() { public ElementMatcher.Junction<ClassLoader> classLoaderMatcher() {
// only matches tomcat 10.0+ // only matches tomcat 10.0+
return hasClassesNamed("jakarta.servlet.http.HttpServletRequest"); return hasClassesNamed("jakarta.servlet.http.HttpServletRequest")
.and(
// tomcat 10 has at least one of these two classes. Cache$EvictionOrder is present in
// 10.0.0, but is removed before 10.1.0. GenericUser is added before Cache$EvictionOrder
// is removed
hasClassesNamed("org.apache.catalina.users.GenericUser")
.or(hasClassesNamed("org.apache.catalina.webresources.Cache$EvictionOrder")));
} }
@Override @Override

View File

@ -25,7 +25,8 @@ public class Tomcat7InstrumentationModule extends InstrumentationModule {
@Override @Override
public ElementMatcher.Junction<ClassLoader> classLoaderMatcher() { public ElementMatcher.Junction<ClassLoader> classLoaderMatcher() {
// does not match tomcat 10.0+ // does not match tomcat 10.0+
return hasClassesNamed("javax.servlet.http.HttpServletRequest"); return hasClassesNamed(
"javax.servlet.http.HttpServletRequest", "org.apache.catalina.loader.Constants");
} }
@Override @Override