On Thu, Apr 21, 2011 at 8:50 PM, Donald Whytock <dwhyt...@gmail.com> wrote: > Okay, it's not ROUTE_STOP, or not necessarily. I've been getting > mixed results with email deletion. In all cases I see the message > "Exchange processed, so flagging message as DELETED" coming from > MailConsumer.processCommit() as the exchange's onCompletion is run, > but in some cases the email doesn't actually get deleted, and shows up > again in the queues with the next polling. >
How long time do it take to process the exchange, when you notice the email isn't deleted? Maybe the mail session times out, and it wont re-connect to set the DELETED flag. There should be something in the logs as camel-mail log at DEBUG level when it attempts to delete the mail. > I've removed and restored things I'm doing in my routes, and nothing > consistently causes the email to not be deleted. I'm at the point now > where, without changing the route, I see a message appear once, twice > or three times (varying) before it gets deleted. > > Is there a timeout on message deletion, such that if my route takes > too long the message won't get deleted? Do I need to copy the > exchange as soon as I get it, finish with the original and run with > the copy? > > On Wed, Apr 20, 2011 at 11:35 AM, Donald Whytock <dwhyt...@gmail.com> wrote: >> But if I do filter on the pipeline it'll determine whether the entire >> pipeline is or isn't performed, right? So to break out of the >> pipeline I'd have to put the filter on each pipelined item, such as >> >> from X >> filter when Y >> to A >> filter when Y >> to B >> end // filter >> to C // do something after filter for all messages >> >> so as to pick up when Y became false. >> >> Since I use an instance of Pipeline with an ArrayList of Processors, >> this would become an ArrayList of FilterProcessor(predicate, >> processor)? >> >> On Wed, Apr 20, 2011 at 4:59 AM, Claus Ibsen <claus.ib...@gmail.com> wrote: >>> On Wed, Apr 20, 2011 at 12:42 AM, Donald Whytock <dwhyt...@gmail.com> wrote: >>>> I ask because it appears to, in my application where I'm using >>>> ROUTE_STOP to break out of a pipeline. >>>> >>>> Perhaps there should be some mechanism for breaking out of a pipeline >>>> without killing the whole route? A PIPELINE_STOP property, or maybe >>>> ROUTE_STOP could contain the ID of the route to be broken out of, >>>> allowing containing routes to continue? >>>> >>> >>> You can use the filter EIP to only process messages based on a predicate. >>> >>> from X >>> filter when Y >>> to A >>> to B >>> end // filter >>> to C // do something after filter for all messages >>> >>>> >>>> On Tue, Apr 19, 2011 at 3:40 PM, Donald Whytock <dwhyt...@gmail.com> wrote: >>>>> Hi all... >>>>> >>>>> Does using ROUTE_STOP on an email exchange prevent the message from >>>>> being deleted from the POP3 server? >>>>> >>>>> Don >>>>> >>>> >>> >>> >>> >>> -- >>> Claus Ibsen >>> ----------------- >>> FuseSource >>> Email: cib...@fusesource.com >>> Web: http://fusesource.com >>> CamelOne 2011: http://fusesource.com/camelone2011/ >>> Twitter: davsclaus >>> Blog: http://davsclaus.blogspot.com/ >>> Author of Camel in Action: http://www.manning.com/ibsen/ >>> >> > -- Claus Ibsen ----------------- FuseSource Email: cib...@fusesource.com Web: http://fusesource.com CamelOne 2011: http://fusesource.com/camelone2011/ Twitter: davsclaus Blog: http://davsclaus.blogspot.com/ Author of Camel in Action: http://www.manning.com/ibsen/