创建数据源并部署应用程序

时间:2015-05-20 12:32:20

标签: maven-3 wildfly wildfly-8

我有一个maven项目,它创建一个war文件,应该通过wildfly:run将其部署到捆绑的wildfly服务器上。
到目前为止,这是有效的,但我需要在部署之前创建一个数据源。

我尝试将add-resource目标绑定到不同的阶段,例如deploy,install或package。他们都没有工作。

有什么问题?

一个想法是使用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>

1 个答案:

答案 0 :(得分:3)

我的解决方案是使用运行目标和beforeDeployment目标:

<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>