Puedo reproducir tu problema por completo. No he usado la consola Wildfly en bastante tiempo, pero esto me parece un error. Sin embargo, hay otra forma que tiene la ventaja de ser fácilmente repetible y programable.
Si ejecuta jboss-cli
desde el directorio bin de Wildfly, puede agregar un controlador JDBC y una fuente de datos JEE con un script. Mi guión se ve así:
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
Este script debe ejecutarse sin que se ejecute el servidor. Si desea ejecutarlo mientras el servidor se está ejecutando a continuación, quitar las embed-server
, batch
y run-batch
las líneas. Básicamente, esto comienza creando un módulo que en este caso es un controlador PostgreSQL. Luego agrega un controlador JDBC y finalmente un DataSource. Se puede ejecutar con:
jboss-cli.sh --file=the-file-name.cli
asumiendo que guardó lo anterior en un archivo llamado the-file-name.cli
. Una vez más, el bin
directorio de Wildfly debe estar en su ruta para ejecutar esto en la línea de comando.