You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.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