You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by "Michael Chen (JIRA)" <ji...@apache.org> on 2009/01/15 20:14:59 UTC

[jira] Updated: (CAMEL-1263) MailConsumer throws exception on line 113

     [ https://issues.apache.org/activemq/browse/CAMEL-1263?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Michael Chen updated CAMEL-1263:
--------------------------------

    Description: 
When the mail box is empty (no mail available), MailConsumer throws the following exception on line 113.  It happens for both pop3 and imap protocols (Java Mail API 1.4.1 Sun implementation).  

Regardless the cause, closing the folder should be enclosed in a try/catch block and ignore any exception thrown, because it is no longer interesting to the client application.  It can surely log the exception, but shouldn't throw it.
{code}
     [java] javax.mail.MessagingException: A6 NO Mailbox is locked by POP server;
     [java]   nested exception is:
     [java]     com.sun.mail.iap.CommandFailedException: A6 NO Mailbox is locked by POP server
     [java]     at com.sun.mail.imap.IMAPFolder.close(IMAPFolder.java:1128)
     [java]     at com.sun.mail.imap.IMAPFolder.close(IMAPFolder.java:1055)
     [java]     at org.apache.camel.component.mail.MailConsumer.poll(MailConsumer.java:113)
     [java]     at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:66)
     [java]     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
     [java]     at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
     [java]     at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
     [java]     at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
     [java]     at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
     [java]     at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
     [java]     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
     [java]     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
     [java]     at java.lang.Thread.run(Thread.java:619)
     [java] Caused by: com.sun.mail.iap.CommandFailedException: A6 NO Mailbox is locked by POP server
     [java]     at com.sun.mail.iap.Protocol.handleResult(Protocol.java:341)
     [java]     at com.sun.mail.iap.Protocol.simpleCommand(Protocol.java:363)
     [java]     at com.sun.mail.imap.protocol.IMAPProtocol.close(IMAPProtocol.java:976)
     [java]     at com.sun.mail.imap.IMAPFolder.close(IMAPFolder.java:1125)
     [java]     ... 12 more
{code}

  was:
When the mail box is empty (no mail available), MailConsumer throws the following exception on line 113.  It happens for both pop3 and imap protocols (Java Mail API 1.4.1 Sun implementation).  

Regardless the cause, closing the folder should be enclosed in a try/catch block and ignore any exception thrown, because it is no longer interesting to the client application.  It can surely log the exception, but shouldn't throw it.

     [java] javax.mail.MessagingException: A6 NO Mailbox is locked by POP server;
     [java]   nested exception is:
     [java]     com.sun.mail.iap.CommandFailedException: A6 NO Mailbox is locked by POP server
     [java]     at com.sun.mail.imap.IMAPFolder.close(IMAPFolder.java:1128)
     [java]     at com.sun.mail.imap.IMAPFolder.close(IMAPFolder.java:1055)
     [java]     at org.apache.camel.component.mail.MailConsumer.poll(MailConsumer.java:113)
     [java]     at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:66)
     [java]     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
     [java]     at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
     [java]     at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
     [java]     at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
     [java]     at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
     [java]     at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
     [java]     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
     [java]     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
     [java]     at java.lang.Thread.run(Thread.java:619)
     [java] Caused by: com.sun.mail.iap.CommandFailedException: A6 NO Mailbox is locked by POP server
     [java]     at com.sun.mail.iap.Protocol.handleResult(Protocol.java:341)
     [java]     at com.sun.mail.iap.Protocol.simpleCommand(Protocol.java:363)
     [java]     at com.sun.mail.imap.protocol.IMAPProtocol.close(IMAPProtocol.java:976)
     [java]     at com.sun.mail.imap.IMAPFolder.close(IMAPFolder.java:1125)
     [java]     ... 12 more



> MailConsumer throws exception on line 113
> -----------------------------------------
>
>                 Key: CAMEL-1263
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-1263
>             Project: Apache Camel
>          Issue Type: Bug
>          Components: camel-mail
>    Affects Versions: 1.5.0
>         Environment: Camel
>            Reporter: Michael Chen
>
> When the mail box is empty (no mail available), MailConsumer throws the following exception on line 113.  It happens for both pop3 and imap protocols (Java Mail API 1.4.1 Sun implementation).  
> Regardless the cause, closing the folder should be enclosed in a try/catch block and ignore any exception thrown, because it is no longer interesting to the client application.  It can surely log the exception, but shouldn't throw it.
> {code}
>      [java] javax.mail.MessagingException: A6 NO Mailbox is locked by POP server;
>      [java]   nested exception is:
>      [java]     com.sun.mail.iap.CommandFailedException: A6 NO Mailbox is locked by POP server
>      [java]     at com.sun.mail.imap.IMAPFolder.close(IMAPFolder.java:1128)
>      [java]     at com.sun.mail.imap.IMAPFolder.close(IMAPFolder.java:1055)
>      [java]     at org.apache.camel.component.mail.MailConsumer.poll(MailConsumer.java:113)
>      [java]     at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:66)
>      [java]     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
>      [java]     at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
>      [java]     at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
>      [java]     at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
>      [java]     at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
>      [java]     at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
>      [java]     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>      [java]     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>      [java]     at java.lang.Thread.run(Thread.java:619)
>      [java] Caused by: com.sun.mail.iap.CommandFailedException: A6 NO Mailbox is locked by POP server
>      [java]     at com.sun.mail.iap.Protocol.handleResult(Protocol.java:341)
>      [java]     at com.sun.mail.iap.Protocol.simpleCommand(Protocol.java:363)
>      [java]     at com.sun.mail.imap.protocol.IMAPProtocol.close(IMAPProtocol.java:976)
>      [java]     at com.sun.mail.imap.IMAPFolder.close(IMAPFolder.java:1125)
>      [java]     ... 12 more
> {code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.