Ich kann Ihr Problem vollständig reproduzieren. Ich habe die Wildfly-Konsole schon seit einiger Zeit nicht mehr benutzt, aber das scheint mir ein Fehler zu sein. Es gibt jedoch einen anderen Weg, der den Vorteil hat, dass er leicht wiederholbar und skriptfähig ist.
Wenn Sie jboss-cli
aus dem Wildfly-Bin-Verzeichnis ausführen, können Sie einen JDBC-Treiber und eine JEE-Datenquelle mit einem Skript hinzufügen. Mein Skript sieht aus wie:
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
Dieses Skript sollte ausgeführt werden, ohne dass der Server ausgeführt wird. Wenn Sie möchten , dass es laufen , während der Server läuft dann entfernen Sie die embed-server
, batch
und run-batch
Linien. Grundsätzlich wird zunächst ein Modul erstellt, das in diesem Fall ein PostgreSQL-Treiber ist. Anschließend wird ein JDBC-Treiber und zuletzt eine DataSource hinzugefügt. Es kann ausgeführt werden mit:
jboss-cli.sh --file=the-file-name.cli
vorausgesetzt, Sie haben das oben Gesagte in einer Datei mit dem Namen gespeichert the-file-name.cli
. Auch hier muss sich das bin
Verzeichnis für Wildfly auf Ihrem Pfad befinden, damit dies in der Befehlszeile ausgeführt werden kann.