Configurar Postgres con pgagent y driver para ser usado en Jboss

1)      Instale Jboss 7
2)      Instale Postgres
3)      Según su versión de postgres instale su repo de postgres de esta página
En mi caso descargue la versión 9.4 para RHEL7 y la instalé con:
yum install pgdg-redhat94-9.4-3.noarch.rpm
4)      Instale el paquete pgagent, en nuestro caso para postgresql 9.4:
yum install pgagent_94
5)      Entre a Postgres y cree la extensión pgagent
create extension pgagent;
6)      Para cada base de datos que se vaya a utilizar el pgagent se debe ejecutar el pgagent antes con el siguiente comando:
pgagent_94 hostaddr=localhost dbname=SGV user=sgv password=sgv
Para agregar esto al inicio del Sistema cree el siguiente archivo en el /etc/systemd/system/pgagent.service con el siguiente contenido:

[Unit]
Description=Extension pgagent de Postgres (Para usar Jobs)
After=postgresql-9.4.service

[Service]
Type=forking
ExecStart=/etc/init.d/pgagent.sh

[Install]
WantedBy=multi-user.target

7) Cree el siguiente archivo en /etc/init.d/pgagent.sh con el siguiente contenido:

#!/bin/sh
/usr/bin/pgagent_94 hostaddr=localhost dbname=SGV user=sgv password=sgv

8)      Debe reiniciar el systemd con:
systemctl daemon-reload
9)      Para agregar el arranque ejecute:
systemctl enable pgagent
el sistema debe responder con:
Created symlink from /etc/systemd/system/multi-user.target.wants/pgagent.service to /etc/systemd/system/pgagent.service.
10)      Para instalar el driver de postgres para Jboss instale el siguiente paquete:
yum install postgresql94-jdbc
11)   Cree en la estructura de Jboss el directorio para su driver de postgres:
mkdir /opt/jboss/EAP-7.1.0/modules/com/postgres/main/ -p
12)   Copie el archivo .jar de su driver en el directorio creado anteriormente:
cp /usr/share/java/postgresql94-jdbc.jar /opt/jboss/EAP-7.1.0/modules/com/postgres/main/
13)   En el directorio “main” cree el archivo module.xml con el siguiente contenido:
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.0" name="com.postgres">
  <resources>
    <resource-root path="postgresql94-jdbc.jar"/>
  </resources>
  <dependencies>
    <module name="javax.api"/>
    <module name="javax.transaction.api"/>
  </dependencies>
</module>

OJO: Note que el name debe corresponder con el nombre del directorio creado anteriormente.

14)   Arranque el servidor jboss
15)   Ingrese al jboss-cli
16)   Dentro del jboss-cli ejecute el siguiente comando:

/subsystem=datasources/jdbc-driver=postgres:add(driver-name=postgres,driver-module-name=com.postgres,driver-xa-datasource-class-name=com.postgres.jdbc.jdbc2.optional.PostgresXADataSource)

        El jboss-cli debe responder con:

               {"outcome" => "success"}


Listo!

Comentarios

Entradas populares