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
Publicar un comentario