noel 2003/06/06 16:43:09
Modified: src/java/org/apache/james/transport/mailets
RemoteDelivery.java
Log:
If send failure and no successful sends, try other servers on the list. Also
extended period when we wait for HELLO_NAME to be registered
Revision Changes Path
1.50 +19 -4
jakarta-james/src/java/org/apache/james/transport/mailets/RemoteDelivery.java
Index: RemoteDelivery.java
===================================================================
RCS file:
/home/cvs/jakarta-james/src/java/org/apache/james/transport/mailets/RemoteDelivery.java,v
retrieving revision 1.49
retrieving revision 1.50
diff -u -r1.49 -r1.50
--- RemoteDelivery.java 27 May 2003 03:02:22 -0000 1.49
+++ RemoteDelivery.java 6 Jun 2003 23:43:08 -0000 1.50
@@ -334,6 +334,17 @@
.append(outgoingMailServer);
log(logMessageBuffer.toString());
return true;
+ } catch (SendFailedException sfe) {
+ if (sfe.getValidSentAddresses() == null
+ || sfe.getValidSentAddresses().length < 1) {
+ if (isDebug) log("Send failed, continuing with any other
servers");
+ lastError = sfe;
+ continue;
+ } else {
+ // If any mail was sent then the outgoing
+ // server config must be ok, therefore rethrow
+ throw sfe;
+ }
} catch (MessagingException me) {
//MessagingException are horribly difficult to figure out what
actually happened.
StringBuffer exceptionBuffer =
@@ -698,9 +709,13 @@
* measure, I'm inserting this philosophically unsatisfactory
* fix.
*/
- try {
- Thread.sleep(5000);
- } catch (Exception ignored) {} // wait for James to finish initializing
+ long stop = System.currentTimeMillis() + 60000;
+ while ((getMailetContext().getAttribute(MailetContextConstants.HELLO_NAME)
== null)
+ && stop > System.currentTimeMillis()) {
+ try {
+ Thread.sleep(1000);
+ } catch (Exception ignored) {} // wait for James to finish initializing
+ }
//Checks the pool and delivers a mail message
Properties props = new Properties();
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]