Регистрация нескольких служб на одном интерфейсе в WSO2 Identity Server - PullRequest
0 голосов
/ 10 декабря 2018

Я пытаюсь найти способ зарегистрировать несколько реализаций в одном интерфейсе в рамках OSGI.В настоящее время у меня есть реализация интерфейса UserStoreManager, которую я регистрирую в структуре OSGI в приведенном ниже коде.

protected void activate(ComponentContext ctxt) {
    Hashtable<String, String> props = new Hashtable<String, String>();
    CustomUserStoreManager customUserStoreManager = new CustomUserStoreManager();
    ctxt.getBundleContext().registerService(UserStoreManager.class.getName(), customUserStoreManager, props);
}

Проблема заключается в том, что уже существует другая реализация интерфейса UserStoreManager, которую я не могу удалить.

Как зарегистрировать мою реализацию таким образом, чтобы она не вызывала проблем с другой реализацией?

Я читал о предоставлении свойств и о том, как их можно использовать для решения этой проблемы,однако я не верю, что предоставляемые мной свойства выбираются сервером идентификации WSO2.

Обе реализации интерфейса UserStoreManager используются в качестве вторичных хранилищ пользователей на сервере идентификации.

Спасибо.

1 Ответ

0 голосов
/ 11 декабря 2018

Нет необходимости удалять существующую реализацию UserStoreManager.Если вы хотите использовать новый настроенный UserStoreManager для основного хранилища пользователей, замените класс UserStoreManager в файле user-mgt.xml и перезапустите сервер.Затем будет использоваться этот com.custom.user.manager.CustomCUserStoreManager.

<UserStoreManager class="com.custom.user.manager.CustomUserStoreManager">

Если вы хотите изменить его для хранилища вторичного пользователя, измените имя класса в хранилище редактирования вторичного пользователя в консоли управления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...