Cómo agregar el Driver JDBC PostgreSQL a Wildfly 15

Hola amigas!!

Bueno el presente artículo será de como dar de alta un Driver en Wildfly, esperemos haber utilizado la guía anterior para instalarlo si no checa aquí: , utilizaremos el de PostgreSQL porque es la mera vena (jaja bueno y funciona igual para el de MySQL) que quizá ponga después. Lo primero que tendremos que hacer es bajar el driver de jdbc de PostgreSQL que lo podremos hacer en la siguiente URL:

https://jdbc.postgresql.org/download.html

Una vez descargado tendremos que realiza la siguiente ruta de directorios lo haremos con los siguientes comandos:


[wildfly@server ~]$ cd /opt/wildfly-15.0.1.Final/modules/system/layers/base
[wildfly@server base]$ mkdir -p org/postgresql/main

En esta ocasiones utilizamos -p en el mkdir (como pueden ver arriba) para crear todos la estructura de directorios en un solo comando, de caso contrarios tendríamos que crear uno por uno, algo así:

[wildfly@server base]$  mkdir org
[wildfly@server base]$  cd org
[wildfly@server org]$  mkdir postgresql
[wildfly@server org]$  cd postgresql
[wildfly@server postgresql]$  mkdir main

Cualquiera de los dos es válido. Una vez creada la estructura de directorios, dentro de la carpeta creamos un archivo module.xml dentro de copiamos los siguiente:

<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="org.postgresql">
  <resources>
     <resource-root path="postgresql-42.2.5.jar"/>
  </resources>
  <dependencies>
    <module name="javax.api"/>
    <module name="javax.transaction.api"/>
  </dependencies>
</module>


Recordemos que si la versión del Driver es nueva poner la correcta o la que tenga el archivo descargamos en donde dice path

Ahora dentro de esta carpeta copiaremos el driver jdbc que bajamos lo haremos de la siguiente manera:

[wildfly@nodoa ~]$ cp postgresql-42.2.5.jar /opt/wildfly-15.0.1.Final/modules/system/layers/base/org/postgresql/main
[wildfly@nodoa ~]$ ls /opt/wildfly-15.0.1.Final/modules/system/layers/base/org/postgresql/main
module.xml  postgresql-42.2.5.jar
[wildfly@nodoa ~]$

Ahora que ya tenemos esto, partimos a encender el wildfly para finalizar la configuración.

[wildfly@nodoa ~]$ standalone.sh

Una vez que finalice el encendido desde otra consola ingresamos:

[wildfly@nodoa ~]$ jboss-cli.sh
You are disconnected at the moment. Type 'connect' to connect to the server or 'help' for the list of supported commands.
[disconnected /] connect
[standalone@localhost:9990 /] /subsystem=datasources/jdbc-driver=postgresql:add(driver-name=postgresql,driver-module-name=org.postgresql,driver-class-name=org.postgresql.Driver)
{"outcome" => "success"}
[standalone@localhost:9990 /]

Esto finalmente agrego el Driver dentro de la configuración de nuestro servidor en standalone.

Podemos comprobarlo en el log:
...
17:10:07,114 INFO  [org.jboss.as.connector.subsystems.datasources] (management-handler-thread - 1) WFLYJCA0005: Deploying non-JDBC-compliant driver class org.postgresql.Driver (version 42.2)                                                                                                                                                       
17:10:07,115 INFO  [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-7) WFLYJCA0018: Started Driver service with driver-name = postgresql   

Teniendo esto podremos dar de alta nuestro Datasource :D

Modo Dominio

Si estamos utilizando el Wildfly en modo dominio, después de haber realizado todos los pasos anteriores (hasta cuando te conectas en el jboss-cli) dentro del este lo daremos de alta con el siguiente comando:

[domain@localhost:9990 /] /profile=default/subsystem=datasources/jdbc-driver=postgresql:add(driver-name=postgresql,driver-module-name=org.postgresql,driver-xa-datasource-class-name=org.postgresql.xa.PGXADataSource) 
{
    "outcome" => "success",
    "result" => undefined,
    "server-groups" => undefined
}
[domain@localhost:9990 /] 


De esta forma hemos agregado en modo domain  el Driver correspondiente.

Cualquier duda no dudes en pregunta en los comentarios!

Besos Bays!


0 comentarios:

Publicar un comentario