Skip to content

Commit db3ff72

Browse files
committed
Use ContextClassLoader when loading a class
1 parent 002dc3f commit db3ff72

1 file changed

Lines changed: 7 additions & 1 deletion

File tree

  • java/server/src/org/openqa/selenium/grid/config

java/server/src/org/openqa/selenium/grid/config/Config.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import java.util.List;
2323
import java.util.Optional;
2424
import java.util.Set;
25+
import java.util.logging.Logger;
2526

2627
public interface Config {
2728

@@ -46,8 +47,13 @@ default Optional<Boolean> getBool(String section, String option) {
4647
default <X> X getClass(String section, String option, Class<X> typeOfClass, String defaultClazz) {
4748
String clazz = get(section, option).orElse(defaultClazz);
4849

50+
// We don't declare a constant on the interface, natch.
51+
Logger.getLogger(Config.class.getName()).fine(String.format("Creating %s as instance of %s", clazz, typeOfClass));
52+
4953
try {
50-
Class<?> ClassClazz = Class.forName(clazz);
54+
// Use the context class loader since this is what the `--ext`
55+
// flag modifies.
56+
Class<?> ClassClazz = Class.forName(clazz, true, Thread.currentThread().getContextClassLoader());
5157
Method create = ClassClazz.getMethod("create", Config.class);
5258

5359
if (!Modifier.isStatic(create.getModifiers())) {

0 commit comments

Comments
 (0)