Regular los registros procesados por un DBAdapter polling

En este post se explicarán las propiedades del adaptador de base de datos de Oracle (para la SOA Suite y el OSB) que nos permiten regular el número de registros procesados en cada poll.

Para configurar de forma óptima la regulación, es necesario tener en cuenta las siguientes 3 propiedades:

1
2
3
<property name="PollingInterval" value="segundos"/>
<property name="MaxRaiseSize" value="elementos"/>
<property name="MaxTransactionSize" value="registros"/>

Veamos el significado de cada una:

  • PollingInterval: Segundos entre consultas a la base de datos.
  • MaxRaiseSize: Cantidad de elementos XML creados por instancia.
  • MaxTransactionSize: Cantidad de registros a procesar en cada consulta a la base de datos.

A modo de ejemplo, si disponemos de 1000 registros a procesar y realizamos la siguiente configuración:

1
2
3
<property name="PollingInterval" value="60"/>
<property name="MaxRaiseSize" value="20"/>
<property name="MaxTransactionSize" value="100"/>

conseguiríamos una ejecución por minuto, que recuperaría 100 registros, generando 5 instancias con 20 registros en cada petición XML (100/20).

Una gran diferencia entre las propiedades de MaxRaiseSize y MaxTransactionSize puede afectar al rendimiento de nuestro proceso, por lo que se recomienda mantener un ratio de hasta 1:10, intentando, siempre que sea posible, acercarse al 1:1.

Cabe mencionar que con bases de datos no-Oracle se han encontrado comportamientos dispares. En estos casos conviene revisar la documentación del driver utilizado, para comprobar que dicho comportamiento esté soportado.

Evolución, innovación y transformación
37 especializaciones avaladas por Oracle
Oportunidades ilimitadas
El equipo marca la diferencia
Posts 100% Oracle
Sigue nuestro día a día