Hi Norman,

I see two attention points there:
- Additional operational components to be managed/monitored (the intermediate delivery queues, jms or whatever), but I see you already began to take it into account with JAMES-1180 (Allow to browse MaillQueue) - Which configuration/processing framework would be used to consume the delivery queues: mailets api (we can let it evolve to take new requirements into account), camel-like routes, custom james-made,... ?

The good impacts are:
- We would have a better separation of concern: mailets to decide what to do with the delivery, and the delivery as such. - Both concerns/aspects will have their own configuration and own implementation, so not everything bloated in mailetconainer modules/conf files. - It may be more easy to route based on policies, scheduling,... and also to deliver spam/virus/... in mailbox.

Tks,

Eric


On 9/01/2011 10:07, Norman Maurer wrote:
Could you explain what Problems you See here?

Also the Queues would Be of the type MailQueue, so its not limited to
jms. The configuration of the Services would Be Done by seperate
config Files....

Bye
Norman


Am Sonntag, 9. Januar 2011 schrieb Eric Charles<[email protected]>:
Hi,

I also like the idea to have remote/local delivery as core service implemented 
via JMS queues.
The decision to deliver should remain in the mailet processor.

The way the local/remote delivery queues will be consumed will be configured 
via separate mechanisms (xml files).

The question is also "how to configure the local/remote delivery queues 
consuming": via another mailet chain, via camel-like routes, yet-another ad-hoc 
config ?
Don't we simply move the problem from the current mailet processors to an other 
component, with JMS queues between ?

But yes, I like the idea.
Tks,

Eric

On 8/01/2011 19:10, Norman Maurer wrote:

Well I thought more about doing the splitting in the Delivery
dispatcher.. something like:

* retrieve mail from queue
* check if mail attribute "prepared" set
     * attribute not found:
         * do the splitting if needed
         * set attribute "prepared"
         * store back in queue
     * attribute found:
          * start delivering

This would allow is todo the configure of the gateway etc only one
time and all at the same place.

The other think we could do is configure in the "ToRemoteDelivery" and
store the config stuff as mail attributes, but this is not so
"clean"..

I would prefer 1)

WDYT ?
Norman


2011/1/8 Stefano Bagnara<[email protected]>:

2011/1/7 Norman Maurer<[email protected]>:

Hi there,

I spend the last weeks to think about RemoteDelivery and how it is
implemented. I think putting the remote deliver code in a Mailet is
not a good idea. It does not give us much control about it and makes
it harder to customize or extend. I think it would make more sense to
make the delivery code a "core service" which should allow some kind
of pluggable policy out-of-the-box. The Mailet should just move the
mail to the right queue then which the mail will get pulled of from
the new "core service" and tried to get delivered.

Beside of that I think we should add some kind of policy support which
allow to register policies/listener which customize the following
things:

* Calculate the next delay
* Force an other ip address as source for the next delivery attemp
* Force an other ip address as destionation for the next delivery attemp

After that is done I think it would be very easy to add JMX metrics to
the service as well...

WDYT ?

Do you think of simply using a ToRepository or something more specific?
The main issue with using a simple ToRepository is that currently
RemoteDelivery had some "logic" before writing to the outgoing spool.
In fact depending on the presence of a gateway conf or not it will
split the message for each recipient (or recipient group) depending on
the final domain.

If we instead use a simple ToRepository then we'll have to do one more
processing in order to split the message in a following step.

So, i think we should still have a ToRemoteDelivery mailet or something similar.

Stefano

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]




---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to