You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commons-dev@ws.apache.org by "Asankha C. Perera (JIRA)" <ji...@apache.org> on 2009/03/25 06:42:50 UTC
[jira] Work started: (WSCOMMONS-454) SMTP transport can receive
more than one message at same time
[ https://issues.apache.org/jira/browse/WSCOMMONS-454?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Work on WSCOMMONS-454 started by Asankha C. Perera.
> SMTP transport can receive more than one message at same time
> -------------------------------------------------------------
>
> Key: WSCOMMONS-454
> URL: https://issues.apache.org/jira/browse/WSCOMMONS-454
> Project: WS-Commons
> Issue Type: Bug
> Reporter: Amila Chinthaka Suriarachchi
> Assignee: Asankha C. Perera
> Priority: Blocker
>
> hi all,
> recently I started some RM tests with the commons mail transport.
> Mail transport listener runs in a timer task.
> TimerTask timerTask = new TimerTask() {
> @Override
> public void run() {
> workerPool.execute(new Runnable() {
> public void run() {
> if (state == BaseConstants.PAUSED) {
> if (log.isDebugEnabled()) {
> log.debug("Transport " + getTransportName() +
> " poll trigger : Transport is currently paused..");
> }
> } else {
> poll(entry);
> }
> synchronized (entry) {
> if (!entry.canceled) {
> schedulePoll(entry, pollInterval);
> }
> }
> }
> });
> }
> };
> entry.timerTask = timerTask;
> timer.schedule(timerTask, pollInterval)
> As I saw timer task only re activates only after earlier invocation finish. i.e after completing the message.
> In RM inorder delivery case lets say we receive message number 2 before 1. then the initial thread does not return and
> it can not receive the message number 1.
> I tested this this the following sample.
> TimerTask timerTask = new TimerTask(){
> public void run() {
> System.out.println("In the timer task");
> try {
> Thread.sleep(60000);
> } catch (InterruptedException e) {
> e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
> }
> System.out.println("Going out of timer task");
> }
> };
> Timer timer = new Timer("Testtimer");
> timer.schedule(timerTask,0, 1000);
> And I saw timer task does not run until it finishes the first task.
> Can we start a new thread to each new message? That is how earlier SMTP transport had done that.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.