Due to problems with our DNS servers, i shortened the times of outgoing
retries to 1 hour, and bumped up the maxRetries to 50.
Anyway, the DNS servers are sorted... so i put the config back. Everything
seemed happy... until monday morning.
60GB of log files later... and a full hard disk... duh! millions of
exceptions (see below for example).
Looking at the code, i cant see where it checks if it's hit the maximum
delay times. Also, i cant see an obvious way to check this on loading the
message.
Can anyone who know the remotedelivery code well enough comment if the
folloing would work:
replace
private long getNextDelay (int retry_count) {
return delayTimes[retry_count-1];
}
with
private long getNextDelay (int retry_count) {
try {
return delayTimes[retry_count-1];
}
catch (ArrayIndexOutOfBoundsException ex){
return 0;
}
}
ie, if outside of defined delay times, next delay time is 0, so process now!
Will it then realise that this is outside of the maximum retries and bounce
it?
Daniel.
19/09/05 09:30:25 INFO James.Mailet: RemoteDelivery: Exception caught in
Remote
Delivery.run()
java.lang.ArrayIndexOutOfBoundsException: 28
at
org.apache.james.transport.mailets.RemoteDelivery.getNextDelay(Remote
Delivery.java:981)
at
org.apache.james.transport.mailets.RemoteDelivery.access$000(RemoteDe
livery.java:93)
at
org.apache.james.transport.mailets.RemoteDelivery$MultipleDelayFilter
.accept(RemoteDelivery.java:155)
at
org.apache.james.mailrepository.AvalonSpoolRepository.accept(AvalonSp
oolRepository.java:156)
at
org.apache.james.transport.mailets.RemoteDelivery.run(RemoteDelivery.
java:901)
at java.lang.Thread.run(Thread.java:534)
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]