Создание источника данных и развертывание приложения

У меня есть проект maven, который создает военный файл, и его нужно развернуть на связанном сервере wildfly через wildfly:run.
Пока это работает, но перед развертыванием мне нужно создать источник данных.

Я попытался привязать цель добавления ресурсов к различным фазам, таким как развертывание, установка или упаковка. Ни один из них не работал.

Что не так?

Идея заключалась бы в том, чтобы использовать wildfly:start присоединение выполнения для добавления источника данных и развертывания приложения, но я не знаю, как это сделать.

<groupId>org.wildfly.plugins</groupId>
<artifactId>wildfly-maven-plugin</artifactId>
<executions>
    <execution>
        <id>add-datasource</id>
        <phase>deploy</phase>
        <goals>
            <goal>add-resource</goal>
        </goals>
        <configuration>
            <address>subsystem=datasources,data-source=java:jboss/testDB</address>
            <resources>
                <resource>
                    <properties>
                        <jndi-name>java:jboss/testDB</jndi-name>
                        <enabled>true</enabled>
                        <connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1</connection-url>
                        <driver-class>org.h2.Driver</driver-class>
                        <driver-name>h2</driver-name>
                        <user-name>sa</user-name>
                        <password>sa</password>
                    </properties>
                </resource>
            </resources>
        </configuration>
    </execution>
</executions>

person CSchulz    schedule 20.05.2015    source источник


Ответы (1)


Мое решение состоит в том, чтобы использовать цель запуска и цель перед развертыванием:

<plugin>
    <groupId>org.wildfly.plugins</groupId>
    <artifactId>wildfly-maven-plugin</artifactId>
    <configuration>
        <beforeDeployment>
            <commands>
                <command>data-source add --jndi-name=java:jboss/datasources/OracleDS --name=testDB --connection-url=jdbc:h2:mem:test;DB_CLOSE_DELAY=-1 --driver-name=h2 --user-name=sa --password=sa</command>
            </commands>
        </beforeDeployment>
    </configuration>
</plugin>
person CSchulz    schedule 20.05.2015
comment
Это работает ровно один раз для меня. Каждое последующее развертывание теперь вызывает дублирование ресурса [подсистема => источники данных] - person Ralph; 27.09.2018