Creación de transacciones personalizadas desencadenadas por tiempo basadas en tareas

Las transacciones personalizadas desencadenadas por tiempo basadas en tareas se escriben como subclases de la clase com.yantra.ycp.japi.util.YCPBaseTaskAgent, que es una subclase de com.yantra.ycp.japi.util.YCPBaseAgent con las funciones getJobs() y executeJob() ya implementadas. La creación de una transacción personalizada basada en tareas y activada por tiempo mediante la subclase de esta clase implica la implementación de la función executeTask( ) para procesar un registro de cola de tareas que se le pasa como entrada.

Nota: Asegúrese de añadir la lógica para gestionar las fechas disponibles para una tarea en el propio agente.
Nota: Si la función executeTask( ) lanza una excepción, la excepción es registrada y la transacción es revertida, de lo contrario es confirmada.

Las funciones de programa de utilidad de registro y temporización disponibles son parecidas a las proporcionadas por la clase com.yantra.ycp.japi.util.YCPBaseAgent. La firma de la función executeTask() es public Document executeTask(YFSEnvironment oEnv, Document inXML);Env es una instancia creada previamente de un objeto YFSEnvironment que puede pasársele a las API, e inXML es el objeto org.w3c.dom.Document, que contiene el XML de la tarea personalizada. El XML de tarea personalizada también contiene un nodo TransactionFilters , que contiene todos los parámetros que se pasan a la transacción personalizada desencadenada por tiempo basada en tareas. Este nodo está bajo el nodo raíz del XML de entrada. A continuación, puede consultar un ejemplo de una transacción personalizada desencadenada por tiempo basada en tareas.

<?xml version="1.0" encoding="UTF-8"?> 
<TaskQueue 	TaskQKey="" TransactionKey="" DataKey="" DataType="" AvailableDate=""
   		Lockid="" Createts="" Createprogid="" Createuserid="" 
     Modifyts=""Modifyprogid="" Modifyuserid="" >
                 <TransactionFilters   AgentName=""  TransactionKey=""
   			         CurrentThread="" NumRecordsToBuffer="" TotalThreads=""/> 
</TaskQueue>

Para ver un ejemplo de transacción personalizada desencadenada por tiempo basada en tareas, consulte la clase com.yantra.ycp.japi.util.YCPBaseTaskAgent en el Javadoc.