You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by sa...@apache.org on 2006/09/15 08:45:41 UTC

svn commit: r446532 - in /webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/mail: Constants.java SimpleMailListener.java

Author: saminda
Date: Thu Sep 14 23:45:40 2006
New Revision: 446532

URL: http://svn.apache.org/viewvc?view=rev&rev=446532
Log:
Improvements to mail listener  

Modified:
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/mail/Constants.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/mail/SimpleMailListener.java

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/mail/Constants.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/mail/Constants.java?view=diff&rev=446532&r1=446531&r2=446532
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/mail/Constants.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/mail/Constants.java Thu Sep 14 23:45:40 2006
@@ -36,6 +36,8 @@
 
     public final static String RAPLY_TO = "transport.mail.replyToAddress";
 
+    public final static String LISTENER_INTERVAL = "transport.listener.interval";
+
     public final static int SMTP_SERVER_PORT = (1024 + 25);
 
     public final static String SERVER_DOMAIN = "localhost";

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/mail/SimpleMailListener.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/mail/SimpleMailListener.java?view=diff&rev=446532&r1=446531&r2=446532
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/mail/SimpleMailListener.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/mail/SimpleMailListener.java Thu Sep 14 23:45:40 2006
@@ -79,8 +79,13 @@
 
     private EmailReceiver receiver = null;
 
-    /*Time has been put from best guest*/
-    private static final int LISTENER_WAIT_INTERVAL = 3000;
+    /**
+     * Time has been put from best guest. Let the default be 3 mins.
+     * This value is configuralble from Axis2.xml. Under mail transport listener
+     * simply set the following parameter.
+     * <parameter name="transport.listener.interval ">[custom listener interval]</parameter>
+     */
+    private int listenerWaitInterval = 1000 * 60 * 3;
 
     private ExecutorService workerPool;
 
@@ -101,6 +106,12 @@
 
         replyTo = Utils.getParameterValue(
                 transportIn.getParameter(org.apache.axis2.transport.mail.Constants.RAPLY_TO));
+        Parameter listenerWaitIntervalParam = transportIn
+                .getParameter(org.apache.axis2.transport.mail.Constants.LISTENER_INTERVAL);
+        if (listenerWaitIntervalParam != null) {
+            listenerWaitInterval =
+                    Integer.parseInt(Utils.getParameterValue(listenerWaitIntervalParam));
+        }
 
         String password = "";
         String host = "";
@@ -210,7 +221,7 @@
                         MimeMessage msg = (MimeMessage) msgs[i];
                         MessageContext mc = createMessageContextToMailWorker(msg);
                         if (mc != null) {
-                          messageQueue.add(mc);
+                            messageQueue.add(mc);
                         }
                         msg.setFlag(Flags.Flag.DELETED, true);
                     }
@@ -218,10 +229,14 @@
 
                 receiver.disconnect();
 
-                Thread.sleep(LISTENER_WAIT_INTERVAL);
-
             } catch (Exception e) {
                 log.error("Error in SimpleMailListener" + e);
+            } finally {
+                try {
+                    Thread.sleep(listenerWaitInterval);
+                } catch (InterruptedException e) {
+                    log.warn("Error Encountered " + e);
+                }
             }
         }
 



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org