Skip to content

JAMES-3804 Improve error handling when mailetContainer misses a proce…#1128

Merged
chibenwa merged 5 commits intoapache:masterfrom
chibenwa:JAMES-3804
Aug 23, 2022
Merged

JAMES-3804 Improve error handling when mailetContainer misses a proce…#1128
chibenwa merged 5 commits intoapache:masterfrom
chibenwa:JAMES-3804

Conversation

@chibenwa
Copy link
Copy Markdown
Contributor

…ssor

Today, if I specify a mailet pointing to a processor that do not exist, James will start, and the failure will be managed at runtime: upon processing, each mail needed to be processed by the unspecified processor will instead go to the error processor.

Recovering data from such a failure is quite a journey in itself.

Example of such configuration:

<mailet matcher="All" class="ToProcessor">
    <processor>notFound</processor>
</mailet>

Instead of handling such failures at runtime, we could instead abort James startup.

Given we add a new method on the mailet interface, for a mailet to give the list of processor it needs, we can trivially implement such a check in the mailet container.

…ssor

Today, if I specify a mailet pointing to a processor that do not exist, James will start, and the failure will be managed at runtime: upon processing, each mail needed to be processed by the unspecified processor will instead go to the error processor.

Recovering data from such a failure is quite a journey in itself.

Example of such configuration:

```
<mailet matcher="All" class="ToProcessor">
    <processor>notFound</processor>
</mailet>
```

Instead of handling such failures at runtime, we could instead abort James startup.

Given we add a new method on the mailet interface, for a mailet to give the list of processor it needs, we can trivially implement such a check in the mailet container.
@chibenwa chibenwa self-assigned this Aug 16, 2022
@chibenwa chibenwa merged commit a729885 into apache:master Aug 23, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants