Мои настройки следующие:
- Я получил приложение, которое я развернул в
/standalone/deployments
jboss-deployment-structure.xml
моего развертывания в /standalone/deployments
выглядит следующим образом:
<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
<deployment>
<dependencies>
[...]
<module name="org.postgresql"/>
</dependencies>
</deployment>
</jboss-deployment-structure>
<?xml version="1.0" encoding="UTF-8"?>
<module name="org.postgresql" xmlns="urn:jboss:module:1.5">
<resources>
<resource-root path="postgresql-42.2.5.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
</module>
- Мое требование: разрешить использование различных типов jdbc-драйверов, например, postgres, oracle, mssql.
Первый вариант:
Я могу изменить свой jboss-deployment-structure.xml
на
<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
<deployment>
<dependencies>
[...]
<module name="org.postgresql" optional="TRUE"/>
<module name="com.oracle.ojdbc6" optional="TRUE"/>
[...]
</dependencies>
</deployment>
</jboss-deployment-structure>
(добавлен необязательный параметр)
Затем я должен разрешить все драйверыявно. Кажется, это не лучший способ.
Идея исходит из стандартной документации .
Второй вариант:
Я изменяю свой путь к модулю на driver/jdbc/main
(вместо org/postgres/main
) и module.xml
на
<module name="driver.jdbc" xmlns="urn:jboss:module:1.5">
[...]
</module>
(изменил название модуля)
и идусо ссылкой на модуль в моем jboss-deployment-structure.xml
как
<jboss-deployment-structure>
[...]
<module name="driver.jdbc"/>
[...]
</jboss-deployment-structure>
Теперь я заставляю своих клиентов называть модуль-драйвер так, как я предложил. Они не могут назвать модуль, как указано в каждой стандартной документации.
Идея исходит из этого вопроса .
Я делаю это в контексте установки Keycloak с самореализованной федерацией пользователей для доступа к отдельному (legacy) пользовательская база данных.Поэтому удаление jboss-deployment-structure.xml
не является вариантом, как упомянуто выше.
Как правильно достичь моей цели гибкости с помощью драйвера jdbc?
EDIT: упомянуто, сброс jboss-deployment-structure.xml
не работает.