Как использовать класс Java ServiceLoader в Grails?

Я использовал механизм SPI JDK во многих других приложениях без каких-либо проблем; однако, я не могу заставить его работать в Grails.

Я пробовал обычный код (показанный ниже) как из статического инициализатора, так и из конструктора класса, но ни один из них не работал.

ServiceLoader loader = ServiceLoader.load(QueryEngine.class);
Iterator<QueryEngine> it = loader.iterator();

Итератор фактически не выполняет итерацию по реализующим классам.

Я также попробовал:

ServiceLoader.load(QueryEngine.class, Thread.currentThread().getContextClassLoader());

который должен использовать загрузчик классов для текущего класса, но это тоже не работает.

Есть ли какой-то другой механизм, который я должен использовать для загрузки реализующих классов?

0 ответов

Другие вопросы по тегам