Проблема к RegisteredServiceProvider

QwThew

Пользователь
Сообщения
3
Решения
1
Имеется своя АПИ, в апи регистрирую классы и на сервере они есть, но в плагине, который должен использовать это апи RegisteredServiceProvider выдаёт null, хотя класс 100% зарегистрирован


Java:
RegisteredServiceProvider<DataBasesAPI> DataBasesAPI = getServer().getServicesManager().getRegistration(DataBasesAPI.class);

if (DataBasesAPI == null) {
      System.out.println(false);
      return false;
}
В апи:

Код:
public class DatabaseHookManager {

    private final DataBasesAPI plugin;

    private DatabaseManager databaseManager = null;

    public DatabaseHookManager(DataBasesAPI plugin){
        this.plugin = plugin;
    }

    public void hook(){
        try {
            if (databaseManager == null){
                this.databaseManager = new DatabaseManager(plugin);
            }

            final ServicesManager serviceManager = plugin.getServer().getServicesManager();
            serviceManager.register(DataBasesAPI.class, this.plugin, plugin, ServicePriority.High);
            System.out.println(serviceManager.getKnownServices()); //Список классов
        } catch (Exception ignored){}

    }

    public DatabaseManager getDatabaseManager(){return databaseManager;}
}

В апи onEnable()
Java:
DatabaseHookManager hookManager = new DatabaseHookManager(this);
hookManager.hook();
databaseManager = hookManager.getDatabaseManager();
 
Решение
Может быть такое, что класс апи берётся перед тем, как в апи этот класс зарегистрируется? Плагин, использующий апи, загружается перед тем, как загрузится само апи
Сначала загружал плагин с АПИ, потом плагин его использующий + в нем depend
Авто объединение сообщений:

Решил проблему, тем что сделал зависимость не транзитивной
Код:
<dependency>
      <groupId>PACKAGE</groupId>
      <artifactId>REP</artifactId>
      <version>VERSION</version>
      <scope>provided</scope>
</dependency>
Может быть такое, что класс апи берётся перед тем, как в апи этот класс зарегистрируется? Плагин, использующий апи, загружается перед тем, как загрузится само апи
 
Может быть такое, что класс апи берётся перед тем, как в апи этот класс зарегистрируется? Плагин, использующий апи, загружается перед тем, как загрузится само апи
Сначала загружал плагин с АПИ, потом плагин его использующий + в нем depend
Авто объединение сообщений:

Решил проблему, тем что сделал зависимость не транзитивной
Код:
<dependency>
      <groupId>PACKAGE</groupId>
      <artifactId>REP</artifactId>
      <version>VERSION</version>
      <scope>provided</scope>
</dependency>
 
Последнее редактирование:
Назад
Сверху Снизу