ProcessOB3PRetention configuration¶
Runtime configuration comes almost entirely from the Environment API, accessed through IEnvironmentService.GetConfigSetting. The App.config file carries only a WCF binding definition and one appSettings entry (ApplicationHost), which the framework reads.
Environment API settings¶
| Key | Section / key | Read at | Behavior |
|---|---|---|---|
processob3pretention.processbatchsize |
Section processob3pretention, key processbatchsize |
ThirdPartyRetentionProcessor.cs (GetProcessBatchSize) |
Read only when claims exist. An empty, non-numeric, or non-positive value falls back to 100. A missing key throws ApplicationException (exit 5). See BR-OB3P-002. |
imagingapiurl |
Global key | ImagingApiClient.cs (constructor) |
Base URL of the Imaging REST API. Missing throws ApplicationException; empty throws UriFormatException (exit 5). |
ProcessOB3PRetention.WSPEndPointUrl |
Section processob3pretention, key wspendpointurl |
OnBaseService.cs (constructor) |
Runtime address of the OnBase SOAP endpoint; overrides the address in App.config. |
processob3pretention.processbatchsize and ProcessOB3PRetention.WSPEndPointUrl are confirmed not secure (secureFlag: false in the seeded environment settings). The secure status of imagingapiurl is not confirmed, since it is not seeded in this repository.** There is no fallback to appSettings. imagingapiurl and ProcessOB3PRetention.WSPEndPointUrl are always required: they are read unconditionally when the service constructors run during application resolution. processob3pretention.processbatchsize is conditional: it is read only when the Imaging API returns at least one eligible claim (retentionClaims.Length > 0), so a missing key does not fail a run that finds no claims.
Environment variance¶
environmentSettings/settings.yml is seeded to the Environment API for the prod, entqa, and npuat tracks. It defines wspendpointurl with one address per track and processbatchsize of 200 for each of the three tracks. The code fallback of 100 is separate from these seeded values: it applies only when the value is empty, non-integer, or not greater than zero, and a missing key throws ApplicationException from the framework rather than falling back. imagingapiurl is not seeded in this repository, so where it is maintained is unknown.** Other tracks have no seeded values.** Host names and URLs are intentionally not reproduced here.
app.config¶
| Setting | Value | Notes |
|---|---|---|
appSettings ApplicationHost |
entqa |
Read by the framework; appears to be a developer-machine setting* |
WCF binding BasicHttpBinding_HylandOutBoundContract |
basicHttpBinding, Transport security |
Client endpoint address is overridden at runtime by ProcessOB3PRetention.WSPEndPointUrl |
There are no <connectionStrings>, custom configuration sections, or binding redirects.
Database connections¶
This application does not use a database. No connections are stored in <connectionStrings> and none are configured. Connection resolution through IEnvironmentService and DbConnectionManager is a framework capability that this application does not exercise.
Environment variables¶
| Variable | Purpose |
|---|---|
EnvironmentApiUrl |
Machine-level location of the Environment API used to resolve the settings above |
OTEL_EXPORTER_OTLP_ENDPOINT |
Optional OpenTelemetry collector endpoint |
OTEL_EXPORTER_OTLP_PROTOCOL |
Optional OpenTelemetry protocol |
OTEL_EXPORTER_OTLP_HEADERS |
Optional OpenTelemetry headers |
Log file destinations¶
The framework names five destinations through the environment variables file0 to file4. This application never writes to them.
| Variable | Used by this application |
|---|---|
file0 |
Not used |
file1 |
Not used |
file2 |
Not used |
file3 |
Not used |
file4 |
Not used |
Console output goes to stdout and stderr. Any persisted log is whatever the scheduler captures from those streams.*
Related documentation¶
| Documentation | Description |
|---|---|
| Index | Documentation entry point |
| Overview | Purpose and capabilities |
| Architecture | Components and composition root |
| Run lifecycle | Execution flow and exit codes |
| Arguments | Argument contract |
| Dependencies | Packages and API dependencies |
| Operations and processes | Operation catalog |
| Business rules | Rules enforced during processing |
| Operational runbook | Run and recovery procedures |
| Tech debt | Technical debt observations |
Note: Statements marked with
*were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with**could not be confirmed; treat as unknown until verified.
Sources¶
ProcessOB3PRetention/App.configProcessOB3PRetention/ThirdPartyRetentionProcessor.csProcessOB3PRetention/Services/ImagingApiClient.csProcessOB3PRetention/Services/OnBaseService.csProcessOB3PRetention/Program.csenvironmentSettings/settings.yml