Fix to Ensure not isInterface requirement applied to all conditions (#695)

This commit is contained in:
苏格苏格拉 2024-06-03 11:22:17 +08:00 committed by GitHub
parent f736b371d3
commit 313d7d5c8e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 3 additions and 1 deletions

View File

@ -17,6 +17,7 @@ Release Notes.
* Support for showing batch command details and ignoring PING commands in Redisson plugin.
* Fix peer value of Master-Slave mode in Redisson plugin.
* Support for tracing the callbacks of asynchronous methods in elasticsearch-6.x-plugin/elasticsearch-7.x-plugin.
* Fixed the invalid issue in the isInterface method in PluginFinder.
All issues and pull requests are [here](https://github.com/apache/skywalking/milestone/213?closed=1)

View File

@ -95,13 +95,14 @@ public class PluginFinder {
return nameMatchDefine.containsKey(target.getActualName());
}
};
judge = judge.and(not(isInterface()));
for (AbstractClassEnhancePluginDefine define : signatureMatchDefine) {
ClassMatch match = define.enhanceClass();
if (match instanceof IndirectMatch) {
judge = judge.or(((IndirectMatch) match).buildJunction());
}
}
// Filter out all matchers returns to exclude pure interface types.
judge = not(isInterface()).and(judge);
return new ProtectiveShieldMatcher(judge);
}