Класс замены для 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).