Configuración de la Fuente de Datos y de las Unidades de la Base de Datos
Antes de crear una fuente de datos, es necesario añadir un módulo de base de datos al sistema. Cada base de datos tiene su propio controlador de conexión, pero todas las configuraciones se basan en el mismo principio: descargar el controlador del fabricante, copiarlo en wildfly y configurarlo en el sistema. Las configuraciones se harán a través de jboss-cli, pero se pueden hacer todas a través de XML en el archivo standalone-full.xml si se desea.
En el ejemplo siguiente utilizaremos el controlador PostgreSQL. Cada base de datos tiene su propio método de configuración. Le recomendamos que consulte la documentación del fabricante de la base de datos de su elección si difiere de nuestra documentación.
La descarga del controlador JDBC de PostgreSQL se puede encontrar en https://jdbc.postgresql.org en el enlace de descargas. La versión del controlador utilizada por 4biz es la 4.1 build 9.3 Build 1104.
wget https://jdbc.postgresql.org/download/postgresql-9.3-1104.jdbc41.jarAcceda de nuevo a jboss-cli para añadir el controlador con el siguiente comando (suponiendo que lo haya descargado en la carpeta /tmp):
module add --name=org.postgres --resources=/tmp/postgresql-9.3-1104.jdbc41.jar --dependencies=javax.api,javax.transaction.apiCon este comando, el controlador se añadirá automáticamente a la carpeta /opt/wildfly-12.0.0.Final/modules/org/postgres/main/
Continúe en CLI y ejecute el siguiente comando para incluir una fuente de datos:
/subsystem=datasources/jdbc-driver=postgres:add(driver-name="postgres",driver-module-name="org.postgres",driver-xa-datasource-class-name=org.postgresql.xa.PGXADataSourceCreación de la base de datos 4biz
Independientemente de la arquitectura de la base de datos (ya sea instalada en el mismo servidor o por separado), los pasos siguientes se utilizan para crear una base de datos y un usuario para 4biz. En el procedimiento, suponemos que tiene acceso al SGBD. Si no tiene instalado el SGBD, puede encontrar información sobre el procedimiento de instalación directamente en la página https://www.postgresql.org/download/linux/redhat/.
Acceda a PostgreSQL con el siguiente comando:
su - postgresPoco después,
psqlA continuación se muestra el retorno de los comandos:
[root@server /tmp]# su - postgres
bash-4.2$
bash-4.2$ psql
psql (9.6.15)
Type "help" for help.
postgres=#Cree un usuario y una contraseña para acceder a la base de datos de 4biz (sustituya SU_CONTRASENÃ por una contraseña de su preferencia):
create user forbizdbuser with password 'SU_CONTRASENÃ';A continuación se muestra el retorno del comando:
postgres=# create user forbizdbuser with password 'SU_CONTRASENÃ';
CREATE ROLE
postgres=#Cree una base de datos para 4biz:
create database forbiz_db with owner forbizdbuser encoding 'UTF8' tablespace pg_default;A continuación se muestra el retorno del comando:
postgres=# create database forbiz_db with owner forbizdbuser encoding 'UTF8' tablespace pg_default;
CREATE DATABASE
postgres=#Dé permiso al usuario de 4biz:
alter role forbizdbuser superuser;A continuación se muestra el retorno del comando:
postgres=# alter role forbizdbuser superuser;
ALTER ROLE
postgres=#Salga del PSQL y del shell del usuario postgres:
\qPoco después,
exitComo en la parte de abajo:
postgres=# \q
bash-4.2$ exit
exit
[root@server /tmp]#Si la base de datos se está ejecutando en el mismo servidor, es necesario liberar la conexión para el usuario 4biz. Edite el archivo /var/lib/pgsql/9.6/data/pg_hba.conf e incluya la siguiente línea:
# Database administrative login by Unix domain socket
local all postgres ident⚠️Atención!
No cambie la línea `local all postgres peer` que viene por defecto, incluya la línea anterior justo debajo de esta.
Si la base de datos se está ejecutando en otro servidor, debe liberar la conexión desde Wildfly. Para ello incluya la siguiente línea en el mismo archivo pg_hba.conf, sustituyéndola por la dirección IP del servidor wildfly:
host forbiz_db forbizdbuser WILDFLY_IP_ADDRESS/32 md5Configuración de la fuente de datos para Run2biz
Hay ocho entradas de fuentes de datos para forbiz_db, cuatro de las cuales son para 4biz y cuatro para 4biz Builder. El usuario y la contraseña son forbizdbuser y SU_CONTRASEÑA creados en el paso anterior. Si ha creado un usuario, una contraseña y unos nombres de base de datos diferentes, cámbielos en los comandos siguientes.
Conéctese a jboss-cli y ejecute los siguientes comandos. Para que no se produzca ningún error en la ejecución, ejecute cada comando por separado:
Fuente de datos Run2biz
/subsystem=datasources/data-source="/jdbc/citsmart":add(jndi-name="java:/jdbc/citsmart",driver-name="postgres",connection-url="jdbc:postgresql://127.0.0.1:5432/forbiz_db",user-name="forbizdbuser",password="exemplo123",driver-class="org.postgresql.Driver", enabled=true, use-java-context=true)
/subsystem=datasources/data-source="/jdbc/citsmart":write-attribute(name=min-pool-size,value=10)
/subsystem=datasources/data-source="/jdbc/citsmart":write-attribute(name=max-pool-size,value=300)
/subsystem=datasources/data-source="/jdbc/citsmart":write-attribute(name=pool-prefill,value=true)
/subsystem=datasources/data-source="/jdbc/citsmart":write-attribute(name=flush-strategy,value=FailingConnectionOnly)
/subsystem=datasources/data-source="/jdbc/citsmart":write-attribute(name=blocking-timeout-wait-millis,value=60000)
/subsystem=datasources/data-source="/jdbc/citsmart":write-attribute(name=idle-timeout-minutes,value=5)Fuente de datos Run2bizFlow
/subsystem=datasources/data-source="/jdbc/citsmartFluxo":add(jndi-name="java:/jdbc/citsmartFluxo",driver-name="postgres",connection-url="jdbc:postgresql://127.0.0.1:5432/forbiz_db",user-name="forbizdbuser",password="exemplo123",driver-class="org.postgresql.Driver", enabled=true, use-java-context=true)
/subsystem=datasources/data-source="/jdbc/citsmartFluxo":write-attribute(name=min-pool-size,value=10)
/subsystem=datasources/data-source="/jdbc/citsmartFluxo":write-attribute(name=max-pool-size,value=300)
/subsystem=datasources/data-source="/jdbc/citsmartFluxo":write-attribute(name=pool-prefill,value=true)
/subsystem=datasources/data-source="/jdbc/citsmartFluxo":write-attribute(name=flush-strategy,value=FailingConnectionOnly)
/subsystem=datasources/data-source="/jdbc/citsmartFluxo":write-attribute(name=blocking-timeout-wait-millis,value=60000)
/subsystem=datasources/data-source="/jdbc/citsmartFluxo":write-attribute(name=idle-timeout-minutes,value=5)Fuente de datos Run2biz_reports
/subsystem=datasources/data-source="/jdbc/citsmart_reports":add(jndi-name="java:/jdbc/citsmart_reports",driver-name="postgres",connection-url="jdbc:postgresql://127.0.0.1:5432/forbiz_db",user-name="forbizdbuser",password="exemplo123",driver-class="org.postgresql.Driver", enabled=true, use-java-context=true)
/subsystem=datasources/data-source="/jdbc/citsmart_reports":write-attribute(name=min-pool-size,value=10)
/subsystem=datasources/data-source="/jdbc/citsmart_reports":write-attribute(name=max-pool-size,value=300)
/subsystem=datasources/data-source="/jdbc/citsmart_reports":write-attribute(name=pool-prefill,value=true)
/subsystem=datasources/data-source="/jdbc/citsmart_reports":write-attribute(name=flush-strategy,value=FailingConnectionOnly)
/subsystem=datasources/data-source="/jdbc/citsmart_reports":write-attribute(name=blocking-timeout-wait-millis,value=60000)
/subsystem=datasources/data-source="/jdbc/citsmart_reports":write-attribute(name=idle-timeout-minutes,value=5)Fuente de datos Run2bizBpmEventos
/subsystem=datasources/data-source="/jdbc/citsmartBpmEventos":add(jndi-name="java:/jdbc/citsmartBpmEventos",driver-name="postgres",connection-url="jdbc:postgresql://127.0.0.1:5432/forbiz_db",user-name="forbizdbuser",password="exemplo123",driver-class="org.postgresql.Driver", enabled=true, use-java-context=true)
/subsystem=datasources/data-source="/jdbc/citsmartBpmEventos":write-attribute(name=min-pool-size,value=10)
/subsystem=datasources/data-source="/jdbc/citsmartBpmEventos":write-attribute(name=max-pool-size,value=300)
/subsystem=datasources/data-source="/jdbc/citsmartBpmEventos":write-attribute(name=pool-prefill,value=true)
/subsystem=datasources/data-source="/jdbc/citsmartBpmEventos":write-attribute(name=flush-strategy,value=FailingConnectionOnly)
/subsystem=datasources/data-source="/jdbc/citsmartBpmEventos":write-attribute(name=blocking-timeout-wait-millis,value=60000)
/subsystem=datasources/data-source="/jdbc/citsmartBpmEventos":write-attribute(name=idle-timeout-minutes,value=5)Fuente de datos Run2biz-builder
/subsystem=datasources/data-source="/env/jdbc/citsmart-neuro":add(jndi-name="java:/env/jdbc/citsmart-neuro",driver-name="postgres",connection-url="jdbc:postgresql://127.0.0.1:5432/forbiz_db",user-name="forbizdbuser",password="exemplo123",driver-class="org.postgresql.Driver", enabled=true, use-java-context=true)
/subsystem=datasources/data-source="/env\/jdbc\/citsmart-neuro":write-attribute(name=min-pool-size,value=10)
/subsystem=datasources/data-source="/env\/jdbc\/citsmart-neuro":write-attribute(name=max-pool-size,value=300)
/subsystem=datasources/data-source="/env\/jdbc\/citsmart-neuro":write-attribute(name=pool-prefill,value=true)
/subsystem=datasources/data-source="/env\/jdbc\/citsmart-neuro":write-attribute(name=flush-strategy,value=FailingConnectionOnly)
/subsystem=datasources/data-source="/env\/jdbc\/citsmart-neuro":write-attribute(name=blocking-timeout-wait-millis,value=60000)Fuente de datos Run2biz-builder-app1
/subsystem=datasources/data-source="/env/jdbc/citsmart-neuro-app1":add(jndi-name="java:/env/jdbc/citsmart-neuro-app1",driver-name="postgres",connection-url="jdbc:postgresql://127.0.0.1:5432/forbiz_db",user-name="forbizdbuser",password="exemplo123",driver-class="org.postgresql.Driver", enabled=true, use-java-context=true)
/subsystem=datasources/data-source="/env\/jdbc\/citsmart-neuro-app1":write-attribute(name=min-pool-size,value=10)
/subsystem=datasources/data-source="/env\/jdbc\/citsmart-neuro-app1":write-attribute(name=max-pool-size,value=300)
/subsystem=datasources/data-source="/env\/jdbc\/citsmart-neuro-app1":write-attribute(name=pool-prefill,value=true)
/subsystem=datasources/data-source="/env\/jdbc\/citsmart-neuro-app1":write-attribute(name=flush-strategy,value=FailingConnectionOnly)
/subsystem=datasources/data-source="/env\/jdbc\/citsmart-neuro-app1":write-attribute(name=blocking-timeout-wait-millis,value=60000)Fuente de datos Run2biz-builder-app2
/subsystem=datasources/data-source="/env/jdbc/citsmart-neuro-app2":add(jndi-name="java:/env/jdbc/citsmart-neuro-app2",driver-name="postgres",connection-url="jdbc:postgresql://127.0.0.1:5432/forbiz_db",user-name="forbizdbuser",password="exemplo123",driver-class="org.postgresql.Driver", enabled=true, use-java-context=true)
/subsystem=datasources/data-source="/env\/jdbc\/citsmart-neuro-app2":write-attribute(name=min-pool-size,value=10)
/subsystem=datasources/data-source="/env\/jdbc\/citsmart-neuro-app2":write-attribute(name=max-pool-size,value=300)
/subsystem=datasources/data-source="/env\/jdbc\/citsmart-neuro-app2":write-attribute(name=pool-prefill,value=true)
/subsystem=datasources/data-source="/env\/jdbc\/citsmart-neuro-app2":write-attribute(name=flush-strategy,value=FailingConnectionOnly)
/subsystem=datasources/data-source="/env\/jdbc\/citsmart-neuro-app2":write-attribute(name=blocking-timeout-wait-millis,value=60000)Fuente de datos Run2biz-builder-app3
/subsystem=datasources/data-source="/env/jdbc/citsmart-neuro-app3":add(jndi-name="java:/env/jdbc/citsmart-neuro-app3",driver-name="postgres",connection-url="jdbc:postgresql://127.0.0.1:5432/forbiz_db",user-name="forbizdbuser",password="exemplo123",driver-class="org.postgresql.Driver", enabled=true, use-java-context=true)
/subsystem=datasources/data-source="/env\/jdbc\/citsmart-neuro-app3":write-attribute(name=min-pool-size,value=10)
/subsystem=datasources/data-source="/env\/jdbc\/citsmart-neuro-app3":write-attribute(name=max-pool-size,value=300)
/subsystem=datasources/data-source="/env\/jdbc\/citsmart-neuro-app3":write-attribute(name=pool-prefill,value=true)
/subsystem=datasources/data-source="/env\/jdbc\/citsmart-neuro-app3":write-attribute(name=flush-strategy,value=FailingConnectionOnly)
/subsystem=datasources/data-source="/env\/jdbc\/citsmart-neuro-app3":write-attribute(name=blocking-timeout-wait-millis,value=60000)Si se produce un error al crear una fuente de datos, utilice el comando remove para eliminarla e inicie de nuevo la creación:
Ejemplo, en el caso siguiente, eliminaremos la fuente de datos Run2biz
/subsystem=datasources/data-source="/jdbc/citsmart":removeAntes de salir de jboss-cli, ejecute el comando reload para aplicar los cambios y realice una prueba de conexión con la base de datos:
reloadY haga una prueba de conexión con con la base de datos utilizando los siguientes comandos. Recuerde que el resultado debe ser "outcome" => "success":
/subsystem=datasources/data-source="/jdbc/citsmart":test-connection-in-pool
/subsystem=datasources/data-source="/jdbc/citsmartFluxo":test-connection-in-pool
/subsystem=datasources/data-source="/jdbc/citsmart_reports":test-connection-in-pool
/subsystem=datasources/data-source="/jdbc/citsmartBpmEventos":test-connection-in-pool
/subsystem=datasources/data-source="/env/jdbc/citsmart-neuro":test-connection-in-pool
/subsystem=datasources/data-source="/env/jdbc/citsmart-neuro-app1":test-connection-in-pool
/subsystem=datasources/data-source="/env/jdbc/citsmart-neuro-app2":test-connection-in-pool
/subsystem=datasources/data-source="/env/jdbc/citsmart-neuro-app3":test-connection-in-pool