Hi folks, we have made some minor changes to James and I was wondering if it would be useful to pass these back to main project. Here is a summary:
Added mailet shutdown. Changed JamesSpoolManager, LinearProcessor and RemoteDelivery. Self explanatory. Prevent tight loop in RemoteDelivery on unexpected exceptions, remove message from outgoing queue. This was a consequence of James.bounce() getting a NullPointerException when there were no from addresses. See thread 'Problem with Retries and Bounces' in James dev mailing list for more info. After the exception, the RemoteDelivery run() method was getting the same message from the next call to accept() and repeating... Prevent ConcurrentModificationException in AvalonMailRepository by cloning key sey before returning iterator. This has since been fixed in the James sources by simply catching and ignoring the exception. I think it is better to prevent the exception occurring in the first place. Also, the published fix has only been implemented in the accept() method, but the accept(long delay) was missed. Added the dispose method to SMTPServer.java and RemoteManager.java for NT socket release issue. Running inside JBoss we have the ability to stop and restart James. On NT the restart failed frequently because the sockets were not being released. Changed JamesSpoolManager to throw instead of system.exit for bad init mailet. Running inside JBoss (or just plain Phoenix), it is not good for James to take out the entire platform what it fails. Regards Steve -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
