DBPoolingTray
Datos Generales
Tipo de Bandeja | Base de Datos |
---|---|
Nombre Calificado | com.latintech.thuban.docintro.tray.DBPoolingTray |
Extiende de | |
Descripción | Bandeja de trabajo que permite arrancar un procesamiento en base al resultado de una consulta a la una base de datos. |
Disponible desde Versión | 6.3 |
Parámetros soportados
A continuación se listarán todos los parámetros aceptados por la bandeja. Los títulos que anteceden cada tabla son los nombres de los parámetros, los mismos son caseSensitive.
name
Tipo | String |
---|---|
Requerido | Sí |
Descripción | Es el nombre que se le otorga a esta instancia particular de la bandeja que se está definiendo en el XML de DocIntro. Es utilizado para referencia la bandeja en el TrayManager. |
errorFolder
Tipo | Carpeta |
---|---|
Requerido | Sí. Además la misma debe existir. |
Descripción | Carpeta dónde se alojarán los logs y archivos que durante el procesamiento arrojen error. |
triggerQuery
Tipo | String |
---|---|
Requerido | Sí |
Descripción | Consulta a evaluar por la bandeja para iniciar o no el procesamiento. Puede ser una consulta SQL o un StoredProcedure (debe ser antecedido por exec. Por ejemplo “exec SP_PRUEBA”. |
activactionOnResults
Tipo | Boolean |
---|---|
Requerido | No. Valor por defecto “true” |
Descripción | Indica si se el procesamiento debe iniciarse si la “triggerQuery” retorna resultados o no. Por ejemplo:
De está forma se puede controlar la condición de ejecución de la bandeja. |
datasource
Tipo | DataSource |
---|---|
Requerido | No |
Descripción | Base de datos sobre la cual ejecutara la “triggerQuery“. En caso de no estar definido, se utilizará la base de datos de Thuban. En caso de querer definirlo, es preciso definir el DataSource a utilizar en el XML del docintro. Por ejemplo: <bean id="myDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="user" value="myusername"/>
<property name="password" value="mypassword"/>
<property name="driverClass" value="net.sourceforge.jtds.jdbc.Driver"/>
<property name="jdbcUrl" value="jdbc:jtds:sqlserver://127.0.0.1:1433/MyDatabase;sendStringParametersAsUnicode=false"/>
<property name="acquireIncrement" value="2"/>
<property name="maxPoolSize" value="30"/>
<property name="minPoolSize" value="3"/>
<property name="maxConnectionAge" value="50000"/>
<property name="maxIdleTime" value="10000"/>
<property name="idleConnectionTestPeriod" value="6000"/>
<property name="maxIdleTimeExcessConnections" value="2000"/>
</bean> |
includeHeaders
Tipo | Boolean |
---|---|
Requerido | No. Valor por defecto “false” |
Descripción | Le indica a la bandeja si se desean obtener los nombres de las columnas del resultado de la “triggerQuery“ |
className
Tipo | String |
---|---|
Requerido | No |
Descripción | Indica el ID de la clase documental de destino de los archivos a ser procesados. No es necesario definirla aquí, puede ser definida posteriormente en un procesador. |
internalName
Tipo | String |
---|---|
Requerido | No |
Descripción | Permite sobreescribir la configuración de la clase documental indicando aquí de que forma se debe conformar el nombre del documento en Thuban. Puede ser definido posteriormente en un procesador de subida de documentos. En caso de no informar nada en ningún lado del DocIntro, al momento de subirse el documento a Thuban se generará el nombre como está definido en la clase documental. |
maskTool
Tipo | ThubanMaskTool |
---|---|
Requerido | No |
Descripción | Esta es una propiedad que referencia otro Bean de utilidades del docintro que permite reemplazar valores de campos o asignar valores a campos en función de Máscaras. Por ejemplo, si se define una campo:
Esa máscara será reemplazada por la fecha del momento con ese formato por el maskTool. |
Particularidades de funcionamiento
Existe solo un MarshallingManager que se puede utilizar con este tipo de bandeja, el QueryResultMarshallingManager
No tiene el parámetro fields para agregar campos al workitem desde la bandeja.
A la fecha no existe ningún procesador que sea capaz de trabajar con los resultados de la query. El caso típico de uso es utilizar esta bandeja como disparador de un proceso de docintro que depende de una condición o datos en una base de datos y no de archivos físicos. También se pueden desarrollar procesador personalizados para trabajar con los resultados de la query.
Ejemplos de Configuración
Básica
<bean id="dbQueryTray" class="com.latintech.thuban.docintro.tray.DBPoolingTray">
<property name="errorFolder" value="C:\DocIntro\error"/>
<property name="className" value=""/>
<property name="internalName" value=""/>
<property name="maskTool" ref="maskTool"/>
<property name="marshallingManager" ref="queryMarshallingManager"/>
<property name="name" value="dbQueryTray"/>
<property name="triggerQuery" value="SELECT INDEX_ITEM_ID FROM THUBAN_INDEXES WHERE INDEX_ITEM_CLASS = 'MY CLASS'"/>
</bean>
Básica con activación sin resultados
<bean id="dbQueryTray" class="com.latintech.thuban.docintro.tray.DBPoolingTray">
<property name="errorFolder" value="C:\DocIntro\error"/>
<property name="className" value=""/>
<property name="internalName" value=""/>
<property name="maskTool" ref="maskTool"/>
<property name="marshallingManager" ref="queryMarshallingManager"/>
<property name="name" value="dbQueryTray"/>
<property name="activactionOnResults" value="false"/>
<property name="triggerQuery" value="SELECT INDEX_ITEM_ID FROM THUBAN_INDEXES WHERE INDEX_ITEM_CLASS = 'MY CLASS'"/>
</bean>
Indicando DataSource
<bean id="dbQueryTray" class="com.latintech.thuban.docintro.tray.DBPoolingTray">
<property name="errorFolder" value="C:\DocIntro\error"/>
<property name="className" value=""/>
<property name="internalName" value=""/>
<property name="maskTool" ref="maskTool"/>
<property name="marshallingManager" ref="queryMarshallingManager"/>
<property name="name" value="dbQueryTray"/>
<property name="triggerQuery" value="SELECT INDEX_ITEM_ID FROM THUBAN_INDEXES WHERE INDEX_ITEM_CLASS = 'MY CLASS'"/>
<property name="datasource" ref="myDataSource"/>
</bean>