Posso riprodurre completamente il tuo problema. Non uso la console Wildfly da un po 'di tempo ma questo mi sembra un bug. Tuttavia, c'è un altro modo che ha il vantaggio di essere facilmente ripetibile e gestibile da script.
Se si esegue jboss-cli
dalla directory bin di Wildfly è possibile aggiungere un driver JDBC e l'origine dati JEE con uno script. La mia sceneggiatura è simile a:
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
Questo script dovrebbe essere eseguito senza il server in esecuzione. Se vuoi farlo funzionare mentre il server è in esecuzione quindi rimuovere le embed-server
, batch
e run-batch
le linee. Fondamentalmente questo inizia creando un modulo che in questo caso è un driver PostgreSQL. Quindi aggiunge un driver JDBC e infine un DataSource. Può essere eseguito con:
jboss-cli.sh --file=the-file-name.cli
supponendo che hai salvato quanto sopra in un file denominato the-file-name.cli
. Ancora una volta, la bin
directory per Wildfly deve essere sul tuo percorso per eseguirla sulla riga di comando.