Saltar al contenido

Controladores JDBC WildFly 18.0.1: error interno (newValue es nulo)

Solución:

Este no es un problema de wildfly / jboss. El error está en la consola de administración de Hal (versión 3.2.1). Soluciono este error, cambiando la versión de la consola HAL a 3.2.4.

  1. Descargar lanzamiento:
wget https://repository.jboss.org/nexus/content/repositories/ea/org/jboss/hal/hal-console/3.2.4.Final/hal-console-3.2.4.Final-resources.jar
  1. Copie el archivo jar al directorio wildfly
sudo cp hal-console-3.2.4.Final-resources.jar /opt/wildfly/modules/system/layers/base/org/jboss/as/console/main/
  1. Edite el archivo module.xml
sudo vim /opt/wildfly/modules/system/layers/base/org/jboss/as/console/main/module.xml
  1. Cambiar la versión en el archivo module.xml
   <resources>
        <resource-root path="hal-console-3.2.4.Final-resources.jar"/>
    </resources>
  1. Reiniciar jboss / wildfly
sudo systemctl restart wildfly or sudo service wildfly restart

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 tu corres 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

Esta secuencia de comandos debe ejecutarse sin que se ejecute el servidor. Si desea ejecutarlo mientras el servidor se está ejecutando, elimine el embed-server, batch, y run-batch líneas. Básicamente, esto comienza creando un módulo que en este caso es un controlador PostgreSQL. Luego agrega un controlador JDBC y, por último, 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. De nuevo, el bin El directorio de Wildfly debe estar en su ruta para ejecutarlo en la línea de comandos.

Aparentemente, este es un problema conocido (consulte https://developer.jboss.org/thread/280649 y https://issues.redhat.com/browse/WFLY-12642) y se solucionará en la próxima versión.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *