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!


Read more…

Cómo instalar Wildfly 14/15/16 en CentOS 7.

Comenzamos!


Bueno primero que nada este tutorial es extremadamente sencillo, pero explicaré algunas cosas locas que necesitarán saber para hacer otras cosas mas locas. Si crees que estás muy silvestre para usar Linux y demás este blog es para ti.

Primero utilizaremos un Sistema Operativo CentOS 7, es bueno saber algo de historia, y les caería bien saber un poco sobre ello, pero cuando tengan tiempo le echan un vistazo https://es.wikipedia.org/wiki/CentOS. La instalación de este SO es minimal, por lo que instalaremos varias librerías y cosas que necesitamos.

Comenzamos instalando el JDK dentro del CentOS 7. Para ello primero nos aseguramos que este no este ya instalado, esto lo podemos comprobar con el siguiente comando:

[root@localhost~]$ java --version

Si nos da una respuesta como la siguiente sea cual sea la salida (que en este caso sería la versión y demás). Significa que ya tenemos un JDK instalado.

java 10.0.2 2018-07-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.2+13)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.2+13, mixed mode)

Si este es el JDK que buscamos (que en este caso será el 10 por ejemplo ). Con el podemos trabajar, sin embargo si no tenemos el JDK correcto, o necesitamos uno en especifico. Tendremos que instalarlo, aquí les dejo una liga para que lo hagan.

Bien, ahora que ya tenemos instalado o funcionando el JDK correcto que deseamos para nuestra versión de Wildfly partiremos a instalar el servidor. Primero tendremos que descargar el wildfly lo haremos en la siguiente liga:

http://wildfly.org/downloads/

Una vez descargado ahora partiremos a realizar el proceso de instalación, el cual es relativamente sencillo, primero lo descomprimimos:

Si lo descargamos en tar.gz utilizaremos el siguiente comando:

[root@localhost~]$ tar xvzf wildfly-15.0.1.Final.tar.gz


Si lo descargamos en zip utilizamos el siguiente comando:

[root@localhost~]$ unzip wildfly-15.0.1.Final.tar.gz


(Paréntesis) 

Si no tenemos instalado unzip lo podemos instalar con el siguiente comando en CentOS 7:

[root@localhost~]$ yum install unzip


(Fin del Paréntesis) 

Ahora lo que haremos será mover la carpeta descomprimida a la ubicación de donde se utilizará nuestro Wildfly, esto lo haremos simplemente moviendo la carpeta, lo haremos con el siguiente comando:


[root@localhost~]$ mv wildfly-15.0.1.Final /opt/


Y Listo!!! quedo instalado! PERO! PERO!! antes de todo deberemos de considerar lo siguiente:

  • Una regla básica de Linux es que root únicamente se utiliza para servicios meramente del Sistema Operativo, solo servicios muy especializados que requieran permisos de root, son ejecutados con root, Wildfly no entra dentro de estos servicios, por lo que es necesario crear un usuario normal el cual se encargue de ejecutar Wildfly. 
  • NO EJECUTEN WILDFLY CON ROOT!! 

Ahora creamos el usuario que se encargará de ejecutar wildfly. El cual lo haremos con el siguiente comando:

[root@localhost~]$ useradd wildfly


Ahora le daremos una contraseña para en adelante conectarnos con el usuario de sistema Operativo wildfly. 

[root@localhost~]$ passwd wildfly

(... colocamos password)


Ahora ya tenemos el usuario de Sistema Operativo así como la instalación de nuestro Wildfly. Derebemos de darle permisos o cambiarle los permisos correspondientes a la carpeta, esto lo hacemos con el siguiente comando:

[root@localhost~]$ chown wildfly:wildfly /opt/wildfly-15.0.1.Final -R


Una vez hecho esto podemos probar prender el servidor

[root@localhost~]$ su - wildfly 


[wildfly@localhost~]$ ./standalone.sh 

Para detener el servidor lo haremos colocando Ctrl+C si lo queremos ejecutar en segundo plano solo agregamos &

[wildfly@localhost~]$ ./standalone.sh &


Read more…

Cómo hacer un datasource en Wildfly 15

Bueno amigas!

Ahora después de haber instalado el servidor Wildfly, así como configurar el Driver (el que sea que hayamos utilizado), ahora partiremos a configurar nuestro datasource.

Los datasource como su nombre lo dice son fuentes de datos, las cuales pueden ser accedidos a través de un JNDI, en otro artículo les explicaré mas a detalle.

Primero iniciaremos el servicio con el siguiente comando:

[wildfly@server ~]$ standalone.sh

Una finalizando la conexión, ahora en otra terminal abriremos la Línea de Comandos de Wildfly. Lo haremos con el siguiente comando:

[wildfly@server ~]$ 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 /]


Ahora dentro de la consola, lo que haremos será ejecutar el siguiente comando en una sola línea:

[standalone@localhost:9990 /] data-source add --jndi-name=java:/miDataSource --name=miDataSource --connection-url=jdbc:postgresql://X.X.X.X:5432/base_de_datos --driver-name=postgresql --user-name=usuario --password=PasswordBienLocote

Donde  deberemos de modificar los siguientes datos:

  • miDataSource - Por el nombre del datasource que queremos ponerle a nuestro datasource.
  • X.X.X.X - Por la IP o el Host de nuestra Base de Datos. 
  • base_de_datos - por el nombre de la base de datos a donde nos estamos conectando. 
  • usuario - El Usuario de la Base de Datos con el que nos estamos conectando. 
  • PasswordBienLocote - Por la contraseña de la Base de Datos que este todo locote (bueno si es un servidor productivo si lo tiene que estar eh!)

Una vez modificados estos parámetros, daremos enter dentro de la JBoss CLI. 

Si no nos sale ningún error, solo hay que ver el log veremos algo como lo siguiente:


12:01:56,350 INFO  [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-8) WFLYJCA0010: Unbound data source [java:/miDataSource]

12:01:56,352 INFO  [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-8) WFLYJCA0001: Bound data source [java:/miDataSource]


Con ello podemos comprobar que nuestro DataSource esta dado de Alta.


Read more…

Bienvenidos a d1Code por DrakoRod

Está será la primera entrada de varias donde contaré las aventuras de un programador, con todos sus bemoles!. Narraré la vida de un mortal programador, en múltiples historias sin matices y colores, sin vida ni necesidades mas que las de comer, jugar y dormir, para finalmente resignarse a saber que nada sale a la primera!

Les enseñare como hacer muchas cosas de las que en mi día a día implemento; siempre y cuando tenga el tiempo para publicarlo... esto porque dentro de las aventuras esta mas que entendido que todo es para ayer... 

Somos la nueva legión de "jakers" que no "jakiamos" facebook, pero si creamos el mundo en el que vivimos!

Así comienza esta historia!

Read more…