Home > Cloud Cruiser 4 > Collecting, transforming, and publishing > Steps for all collectors > Using transform processors > Exception processing

Exception processing

Table of contents
No headers

Exception processing deals with input records that are rejected by a processor. Each record rejected by a processor is written to an exception file. The default exception file is created under the active processing directory and follows a naming convention of:

<jobName>_<selectDate>_exceptions.ccr.

There are several CCRecordTransformTasklet properties you can set to customize exception processing. These include the number of exceptions to log, the maximum number of exceptions to process before aborting, and the name of the exception file.

For example, the following properties specify that no more than 50 exceptions will be written to the log, no more than 1000 processing exceptions will occur before aborting, and that the exception file will use the default naming convention:

<bean class="com.cloudcruiser.batch.CCRecordTransformTasklet">
  ...
  <property name="exceptionLogLimit" value="50" />
  <property name="exceptionLimit" value="1000" />
  <property name="exceptionOutput" value="file:${env.processDir}\${env.jobName}_${env.selectDate}_exceptions.ccr" />
  ...

To disable exception handling, you can set the exceptionLimit property to zero for immediate failure on first exception (setting the exceptionLimit to -1 is the same as no limit). The exceptionLimit parameter's default value is zero (0).

An exception file is created if one or more records were rejected. You can specify another transform task to attempt alternate processing on exception records. This secondary transform step should set the inputRequired property to false :

<property name="inputRequired" value="false"/>

In this case, the default output exception filename must be overridden because the task will fail if the input file matches an output file. A merge step (CCRecordMergeTasklet) is then required to combine records from each transform step into a single file for further processing.

Within the transform step, the CreateIdentifierFromTable transform processor creates a new identifier from a translation table using an existing identifier value. This also enables exception processing for dealing with records that do not satisfy processing requirements. With exceptionProcessing set to true :

<bean class="com.cloudcruiser.batch.transform.CreateIdentifierFromTable">
  ...
  ​<property name="exceptionProcessing" value="true" />
</bean>

The records that result in a processing exception are handled by step-level exception processing in CCRecordTransformTasklet . Otherwise, processing exceptions are logged and no further action is taken.

Last modified

Tags

This page has no custom tags.

Classifications

This page has no classifications.
© Copyright 2018 Hewlett Packard Enterprise Development LP