Je peux reproduire complètement votre problème. Je n'ai pas utilisé la console Wildfly depuis un certain temps, mais cela me semble être un bug. Cependant, il existe un autre moyen qui a l'avantage d'être facilement reproductible et scriptable.
Si vous exécutez à jboss-cli
partir du répertoire Wildfly bin, vous pouvez ajouter un pilote JDBC et une source de données JEE avec un script. Mon script ressemble à:
embed-server --server-config=standalone.xml --std-out=echo
batch
module add --name=org.postgres --resources=${user.home}/Downloads/postgresql-42.2.8.jar --dependencies=javax.api,javax.transaction.api
/subsystem=datasources/jdbc-driver=postgres:add(driver-name="postgres",driver-module-name="org.postgres",driver-class-name=org.postgresql.Driver)
/subsystem=datasources/data-source=myDS/:add(connection-url=jdbc:postgresql://localhost:5432/dbname,driver-name=postgres,jndi-name=java:/jdbc/myDS,background-validation=true,background-validation-millis=60000,blocking-timeout-wait-millis=2000,flush-strategy=Gracefully,idle-timeout-minutes=5,initial-pool-size=4,max-pool-size=64,min-pool-size=4,password=the-password,query-timeout=10,track-statements=true,tracking=true,user-name=the-user,validate-on-match=false)
run-batch
Ce script doit être exécuté sans que le serveur ne fonctionne. Si vous souhaitez l' exécuter alors que le serveur est en cours d' exécution , puis retirez les embed-server
, batch
et les run-batch
lignes. Fondamentalement, cela commence par la création d'un module qui dans ce cas est un pilote PostgreSQL. Il ajoute ensuite un pilote JDBC et enfin un DataSource. Il peut être exécuté avec:
jboss-cli.sh --file=the-file-name.cli
en supposant que vous avez enregistré ce qui précède dans un fichier nommé the-file-name.cli
. Encore une fois, le bin
répertoire de Wildfly doit être sur votre chemin pour l'exécuter sur la ligne de commande.