5.5 Input Agent Processing

This section describes how the Input Agent processes the input files.

5.5.1 Input Directory Structure

The input directory specified in the configuration MBean is the top level of the directory structure. Below the top level input directory, the Input Agent creates and manages other directories in the following structure to process its work. Directory definitions follow the following file structure.

Input
   - Errors
   – Failed
      — YYYY-MM-DD
   – Processed
      — YYYY-MM-DD
   – Samples 
   – Stage
Directory Definitions
Input This is the top level that is defined in the configuration MBean. This is where Input Agent looks for new input files. There can be multiple input directories defined in the MBean and each entry in the MBean will have this same structure below it.
Errors Whenever an input file has a mixture of failed index attempts along with some successful indexes, an error file is created for that filing in this directory.
Failed This directory separates out failed input files by placing them in a directory matching the date it was processed. Each input file located under these directories failed completely. Those input files with partial failures are located in Processed directory.
YYYY-MM-DD These directories are date values in the form of year-month-day (such as 2009-04-01) that organize the input files by the date they were processed. This gives the date of when the file was processed and prevents any one directory from getting too many files in it.
Processed Files under this directory have gone through the filing process and had at least one document successfully created in the Oracle I/PM system.
Samples This directory contains all the sample files that work with input objects via the user interface. Files in this directory are visible in the input wizard under the user interface and should not contain production data. Note that the Samples directory location is configured separately from the input directories and may not be under the input directory.
Stage Files in this directory have been selected for processing and are being worked on by the agent. Once the filing is complete, the file is moved to the appropriate Failed or Processed directory.

5.5.2 Input Agent Processing Order

Input Agent polls for input files, stages them, and posts a message to the JMS queue that there are files available for processing. Input ingestors listen to the JMS queue and start processing staged files. The sequence of events is as follows:

5.5.2.1 Polling

First, Input Agent polls for files:

  1. Upon Input Agent wake up (specified by the CheckInterval MBean), Input Agent gets a list of the currently online input definitions.

  2. For each of the input definitions, Input Agent checks all input directories for files that match the input file mask.

  3. When a file is found, it is moved to the Stage directory and a message is generated on a JMS queue to process the file, at which point input ingestors are notified and processing can begin.

  4. Steps 2 and 3 are repeated until all input definitions and directories have been checked.

5.5.2.2 Processing

Once input ingestors are notified that there are files staged for processing in the JMS queue, they begin processing the files:

  1. The ingestor opens a connection to the repository and creates an error file and a new batch object for tracking the documents.

  2. The thread begins parsing the input file and indexing the documents into Oracle I/PM. Any errors that are encountered during indexing are recorded in the error file. This step is repeated for all entries in the input file.

  3. After all the documents have been processed, the batch is closed and, if there were no error entries, the error file is deleted.

  4. The ingestor closes the connection to the repository and the input file is moved to the current date directory under the Processed or Failed directory, and the ingestor moves on to the next staged input file.

5.5.3 Changing WLS Work Manager Settings

A work manager is a WebLogic Server (WLS) concept for controlling how many threads are assigned to a process. In Oracle I/PM, they are used to control how many threads are assigned to the Input Agents and for increasing or decreasing their load on the system. On a new installation, Input Agent is assigned 10 threads. You can reconfigure how many threads WebLogic Server should provide to the Input Agents by changing the default settings of the WLS work manager InputAgentMaxThreadConstraint (default 10) to match your system needs.

To update thread settings, complete the following steps from the WLS administration console.For more information about the WebLogic server, see Oracle® Fusion Middleware Configuring Server Environments for Oracle WebLogic Server.

  1. Bring up the WebLogic console for the domain and go to the deployments section.

  2. Select the Imaging application to display the details for Oracle I/PM.

  3. Select the Configuration and then Workload tabs to get to the Work Manager list.

  4. Select InputAgent to adjust.

  5. Select the Max Threads Constraint at the bottom of the page.

  6. Update the count to the new maximum thread count and click Save.

  7. Restart the managed server(s) and the new thread count will be in effect.