camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Donald Whytock <dwhyt...@gmail.com>
Subject Re: ROUTE_STOP and mail
Date Mon, 25 Apr 2011 16:50:13 GMT
Using Apache James at the moment.  The current stable version of that
(2.3.2) doesn't support IMAP. ("A backport to James Server 2.3.2 would
require a volunteer.")

I have another localhost server I can try.  Might work better anyway.
Ideally, the production app won't be running on a localhost email
server...

On Sat, Apr 23, 2011 at 3:22 AM, Claus Ibsen <claus.ibsen@gmail.com> wrote:
> Hi
>
> Ah try using imap instead of pop3. pop3 is very limited and it may not
> work setting those flags. I think we have seen this in the past
> setting the flags to SEEN or DELETED etc.
>
> We have a little tip about use imap instead of pop3 at the wiki page
> http://camel.apache.org/mail.html
>
>
>
> On Fri, Apr 22, 2011 at 9:27 PM, Donald Whytock <dwhytock@gmail.com> wrote:
>> At the moment my route is very short:
>>
>>  from("pop3://bot@localhost?password=test")
>>    .process(message1)
>>    .process(peeker)
>>    .choice()
>>      .when(property("chatterbot.email").isNotNull())
>>      .to("seda:mailtester");
>>
>>  from("seda:mailtester")
>>    .routeId("listener.test")
>>    .process(message3);
>>
>> Peeker verifies the "from" header against a table; if found, it
>> changes the message body to String and sets chatterbot.email to
>> "true".  Message1 and message3 kick out static messages to System.out.
>>  The seda:mailtester consumer is in a different Felix bundle from the
>> mail consumer.  Very little processing, very little time.
>>
>> I can send it an email, which it will pick up.  Message 1 fires,
>> peeker shows the from address and body, message3 fires, and then I see
>> the debug log say the DELETED flag was set on the message ("Exchange
>> processed, so flagging message as DELETED").  A bit later I see the
>> same message being picked up again, and again the DELETED flag is set.
>>  Occasionally I'll see the message picked up a third time.  After that
>> the message doesn't get picked up again.
>>
>> Oddly, if I remove the routeId(), it stops happening.  If I put the
>> routeId() back in, the problem happens again.
>>
>> On Fri, Apr 22, 2011 at 5:00 AM, Claus Ibsen <claus.ibsen@gmail.com> wrote:
>>> On Thu, Apr 21, 2011 at 8:50 PM, Donald Whytock <dwhytock@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 <dwhytock@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.ibsen@gmail.com>
wrote:
>>>>>> On Wed, Apr 20, 2011 at 12:42 AM, Donald Whytock <dwhytock@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 <dwhytock@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: cibsen@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: cibsen@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: cibsen@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/
>

Mime
View raw message