Класс замены для sun.misc.Service

У меня есть старый (до Java 6) код, который зависит от sun.misc.Service API, такой как:

sun.misc.Service.providers(MyServiceProvider.class);

Этот класс удаляется (а не только усваивается) в Java 9.

Какой альтернативный Java SE API я могу использовать?

1 ответ

Решение

sun.misc.Service класс был заменен java.util.ServiceLoader в Java 6.

Следующие примеры кода эквивалентны:

До

Iterator<MyServiceProvider> = sun.misc.Service.providers(MyServiceProvider.class);

После

Iterator<MyServiceProvider> = java.util.ServiceLoader.load(MyServiceProvider.class).iterator();

Как указывалось в комментариях, java.util.ServiceLoader существует уже давно (Java 6).

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