vlsi opened a new pull request, #5885: URL: https://github.com/apache/jmeter/pull/5885
## Description ServiceLoader is Java standard approach for locating implementaitons, and it allows pluggability without relying on a filesystem layout. The change is backward-compatible, so JMeter searches implementations via `ServiceLoader`, and then it scans the jars like it was doing previously. However, all the JMeter-provided implementations would be provided as services. Fixes https://github.com/apache/jmeter/issues/5883 TODO: * [x] migrate `JMeterUtils#findClassesThatExtend` usages to `ServiceLoader` * [ ] migrate `ClassFinder#findClassesThatExtend` usages to `ServiceLoader` * [ ] Add Jar manifest entry `JMeter-skip-scan-clases: true` so `ClassFinder` ignores JMeter jars * [ ] Add javadocs when appropriate * [ ] Add changelog entry ## Motivation and Context The current `JMeterUtils#findClassesThatExtend` and `ClassFinder.findClassesThatExtend` impose issues: 1) They expect classes to be packaged in jars. It is inconvenient for testing purposes where the dependencies might come form `classes` folders 2) Class scanning takes time. The current workaround is to use `String contains, String notContains` parameters, however, it does not resolve the issue, and it makes an awkward API overall -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@jmeter.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org