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

Reply via email to