This time without attached zip files. -----Original Message----- From: Labib Iskander, Marcus Sent: Friday, July 05, 2002 12:33 PM To: 'James Developers List' Subject: infinite loops
Hello all, since our usage of James is getting more intensive and the drive James logs to is the same as where many temporary and other log files go to. I added some protection against endless loops in James. These let me sleep a little better and maybe somebody else as well? 1. I changed James.java to add a non-standard header to bounced mails to be able to recognize rebouncing. This would happen if the sender, recipient and the local postmaster are due to remote delivery and permantly not reachable. (Which is not too unlikely to happen in my case since I am forwarding the postmaster mails) 2. I added a sleep in the catch block in the main loop of RemoteDelivery.java (I indeed got a endless loop here producing 40MB of logs after startup till I was able to stop James again. How? I forgot to add the dbSPOOL repository type to the mailstore blocks configuration. Which led to a NullPointerException in the loop since the exception in the initphase is being catched.) 3. I added a sleep in the catch block in the main loop of JamesSpoolManager.java 4. I changed NotifyPostmaster and NotifySender to optionally set a custom header counting the notification level depth. In case the notification of a postmaster leads to an error which again yields a notification. 5. Added some Matcher (only included in the modified.zip): NullSender: checks for the sender being null NamedSender: !NullSender HeaderSmallerThan: Checks for a header like that set by NotifyPostmaster or NotifySender If you like to, add this code to JAMES. Cheers, Marcus
RemoteDelivery.java.diff
Description: Binary data
NotifySender.java.diff
Description: Binary data
NotifyPostmaster.java.diff
Description: Binary data
JamesSpoolManager.java.diff
Description: Binary data
James.java.diff
Description: Binary data
RemoteDelivery.java
Description: Binary data
NullSender.java
Description: Binary data
NotifySender.java
Description: Binary data
NotifyPostmaster.java
Description: Binary data
NamedSender.java
Description: Binary data
JamesSpoolManager.java
Description: Binary data
James.java
Description: Binary data
HeaderSmallerThan.java
Description: Binary data
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>