我真的鼓励你考虑使用jboss-cli程序来做到这一点。我喜欢使用它,因为它很容易创建一个可重现的环境,如果文件的布局发生变化,你可能会更加绝缘。
我做过的一些事情如下。请注意,jboss-cli程序位于“bin”目录中的Wildfly主目录中。我已将其添加到我的O / S命令行路径中。
所以,用一个 的 赛跑 强> Wildfly,您可以先删除您正在使用的数据源:
jboss-cli.sh --connect --command="/subsystem=datasources/data-source=yourDataSource/:remove"
并且,为了完整性,删除PostgreSQL驱动程序:
jboss-cli.sh --connect --command="/subsystem=datasources/jdbc-driver=postgres:remove"
和模块:
jboss-cli.sh --connect --command="module remove --name=org.postgres"
现在,添加模块:
jboss-cli.sh --connect --command="module add --name=org.postgres --resources=<location of the pgsql jar> --dependencies=javax.api,javax.transaction.api"
和司机:
jboss-cli.sh --connect --command='/subsystem=datasources/jdbc-driver=postgres:add(driver-name="postgres",driver-module-name="org.postgres",driver-class-name=org.postgresql.Driver)'
最后,数据源:
jboss-cli.sh --command="/subsystem=datasources/data-source=yourDataSource/:add(connection-url=jdbc:postgresql://${db.host}:5432/${db.name},driver-name=postgres,jndi-name=java:/jdbc/yourDataSource,password=${db.password},user-name=${db.username})"
在最后一个语句中,$ {}变量需要设置为您的环境所需的值。请注意,这也设置了JNDI名称 - 我保持它们相同,但这不是必需的。
一旦你运行它,你将需要停止并重新启动Wildfly。
通过这种方式,您可以进行脚本化设置。当你升级时,至少10.x系列应该是相同的,虽然我使用了自Wildfly 8以来的相同脚本。
您可以看到有关此案例的一些扩展文档 这里
/tmp/postgresql-42.2.2.jar
<yourPwd>
<yourUsrName>
<yourDbName>
<dbHost>
<yourDeploymentNameWarOrJarFileName>
你应该能够做到如上所述的以下内容:
cd wildfly-13.0.0.Final/bin
./jboss-cli.sh --connect controller=127.0.0.1
module add --name=org.postgresql --resources=/tmp/postgresql-42.2.2.jar --dependencies=javax.api,javax.transaction.api
/subsystem=datasources/jdbc-driver=postgres:add(driver-name="postgres",driver-module-name="org.postgresql",driver-class-name=org.postgresql.Driver)
data-source add --jndi-name=java:jboss/datasources/<yourDeploymentNameWarOrJarFileName> --name=<yourDbName> --connection-url=jdbc:postgresql://<dbHost>:5432/<yourDbName> --driver-name=postgres --user-name="<yourUsrName>" --password="<yourPwd>"