Как развернуть модуль / провайдера / spi через скрипты? - PullRequest
0 голосов
/ 27 сентября 2019

Есть ли способ развертывания модулей в Wildfly с помощью сценариев (например, без изменения вручную файлов XML)?Я знаю о команде jboss-cli.sh на add module, но есть ли способ либо напрямую изменить мой standalone.xml / domain.xml, либо сделать что-то подобное, что скажет Wildfly загрузить модуль?


Сказал по-другому ...

Я обнаружил два способа развертывания модулей:

1) Горячее развертывание JAR напрямую, скопировав его в $KEYCLOAK_HOME/standalone/deployments (Согласно README в этом каталоге, этот метод не рекомендуется для производственных развертываний , но впоследствии он работает без какой-либо ручной работы.)

2) run jboss-cli.sh --command="module add --name=com.example.MySpi" затем вручную отредактируйте standalone.xml (или domain.xml), чтобы ваш модуль был в списке «провайдеров», например:

<subsystem xmlns="urn:jboss:domain:keycloak-server:1.1">
  <web-context>auth</web-context>
  <providers>
    ...
    <provider>module:com.example.MySpi</provider>
  </providers>
  ...
</subsystem>

... и, наконец, перезапустите сервер.

Я бы хотел использовать рекомендуемый способ, но без редактирования файла XML вручную.Есть ли рекомендуемый путь для этого?

1 Ответ

1 голос
/ 28 сентября 2019

Вы можете сделать что-то вроде

jboss-cli.sh --command="/subsystem=keycloak-server:list-add(name=providers, value=module:com.example.MySpi)"

По сути, вы можете написать все, что находится в standalone.xml, с помощью jboss-cli.Чтобы узнать больше о том, как ваша конфигурация выглядит внутренне, вы можете попробовать /subsystem=keycloak-server:read-resource(recursive=true) в jboss-cli.

...