Author: solomax
Date: Fri Mar  1 09:24:31 2013
New Revision: 1451541

URL: http://svn.apache.org/r1451541
Log:
[OPENMEETINGS-327] Max error count is added to mailQ

Modified:
    
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/basic/MailMessage.java
    
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/utils/mail/MailHandler.java

Modified: 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/basic/MailMessage.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/basic/MailMessage.java?rev=1451541&r1=1451540&r2=1451541&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/basic/MailMessage.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/basic/MailMessage.java
 Fri Mar  1 09:24:31 2013
@@ -46,6 +46,7 @@ public class MailMessage implements IDat
        public enum Status {
                NONE
                , SENDING
+               , ERROR
                , DONE
        }
        
@@ -82,6 +83,9 @@ public class MailMessage implements IDat
        @Column(name = "updated")
        private Calendar updated;
        
+       @Column(name = "errorCount", nullable = false)
+       private int errorCount = 0;
+       
        public MailMessage(String recipients, String replyTo, String subject, 
String body) {
                this(recipients, replyTo, subject, body, null);
        }
@@ -165,4 +169,12 @@ public class MailMessage implements IDat
        public void setIcs(byte[] ics) {
                this.ics = ics;
        }
+
+       public int getErrorCount() {
+               return errorCount;
+       }
+
+       public void setErrorCount(int errorCount) {
+               this.errorCount = errorCount;
+       }
 }

Modified: 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/utils/mail/MailHandler.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/utils/mail/MailHandler.java?rev=1451541&r1=1451540&r2=1451541&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/utils/mail/MailHandler.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/utils/mail/MailHandler.java
 Fri Mar  1 09:24:31 2013
@@ -57,6 +57,7 @@ public class MailHandler {
        private static final Logger log = Red5LoggerFactory.getLogger(
                        MailHandler.class, OpenmeetingsVariables.webAppRootKey);
        private static final int MAIL_SEND_TIMEOUT = 60 * 60 * 1000; // 1 hour
+       private static final int MAXIMUM_ERROR_COUNT = 5;
        
        @Autowired
        private ConfigurationDao cfgDao;
@@ -197,7 +198,8 @@ public class MailHandler {
                                                m.setStatus(Status.DONE);
                                        } catch (Exception e) {
                                                log.error("Error while sending 
message", e);
-                                               m.setStatus(Status.NONE);
+                                               
m.setErrorCount(m.getErrorCount() + 1);
+                                               m.setStatus(m.getErrorCount() < 
MAXIMUM_ERROR_COUNT ? Status.NONE : Status.ERROR);
                                        }
                                        if (m.getId() != 0) {
                                                mailMessageDao.update(m, null);


Reply via email to