Retry¶
By default, if a destination is unreachable, the event is lost. Enable retry for more reliable delivery.
Configuration¶
Retry is configured at the route level, not within the destination:
kete.routes.reliable.retry.enabled=true
kete.routes.reliable.retry.max-attempts=5
kete.routes.reliable.retry.wait-duration=PT2S
| Property | Default | Description |
|---|---|---|
retry.enabled |
false |
Enable retry |
retry.max-attempts |
3 |
How many times to retry |
retry.wait-duration |
500ms |
Time between retries |
Retry Behavior¶
- Retries on: Network errors, timeouts, 5xx server errors
- No retry on: 4xx client errors (authentication failures, bad requests)
Duration Formats¶
The wait-duration property accepts multiple formats:
| Format | Example | Meaning |
|---|---|---|
| Seconds (digits only) | 15 |
15 seconds |
| With suffix | 100ms |
100 milliseconds |
| With suffix | 30s |
30 seconds |
| With suffix | 15m |
15 minutes |
| With suffix | 2h |
2 hours |
| With suffix | 7d |
7 days |
| With suffix | 2w |
2 weeks |
| ISO 8601 | PT1S |
1 second |
| ISO 8601 | PT2H30M |
2 hours 30 minutes |
| ISO 8601 | P1D |
1 day |
Example¶
HTTP destination with retry: