robert burrell donkin-2 wrote:
> 
> On Dec 1, 2007 6:17 PM, Noel J. Bergman <[EMAIL PROTECTED]> wrote:
>> Robert Burrell Donkin wrote:
>>
>> > Tom Brown wrote:
>> > > 3. As SMTP-to-JMS bridge (reverse of #1)
>> > > a. JAMES receives mail
>> > > b. JAMES publishes mail to specific JMS queue or topic
>> > > c. mail is processed/stored/whatever by any interested listeners
>> > fancy volunteering to contribute some code to do this?
> 

Here's the code using Camel :)

from("pop3:[EMAIL PROTECTED]"). // we could transform here if we like...
  to("activemq:MyQueue");


To do 3a) nicer , we might wanna write some James component for Camel so we
can effectively use Mailets from inside Camel. So maybe something like...

from("james:localhost"). 
  to("activemq:MyQueue");

Then we could do Content Based Routing type stuff etc.
http://activemq.apache.org/camel/content-based-router.html

We could maybe integrate the various expressions languages in Camel to the
Mailet's Matcher stuff (e.g. to use XQuery, OGNL, Groovy or whatnot to
filter messages in a Mailet etc).
http://activemq.apache.org/camel/languages.html

OK I'll quit pimping Camel already! :)



robert burrell donkin-2 wrote:
> 
>> The only relevant bit is 3.b, which is a mailet.  The mailet would take
>> the
>> message, formulate some ad-hoc JMS message as desired, and post it to a
>> destination:
>>
>>   <destination>...</destination>
>>   <destination-type>[queue|topic]</destination-type>
>>   <connection-factory>...</connection-factory>
>>   <other elements as desired>
>>
>> A generic base class for this, with an abstract createMessage method,
>> would
>> let people create their own subclass to provide whatever ad-hoc JMS
>> message
>> they desire.
> 
> i'd prefer delegation to inheritance
> 
>> An effort of a few moments to code it, leaving configuring JNDI is an
>> exercise for the reader.
> 
> probably better to use a generic messaging interface and push JNDI or
> local brokering behind it. same interface can then be used for any
> MOM.
> 
> efficient operation is a little more effort: session and connection
> caching would be are needed for high throughput. commons pool would be
> good enough.
> 
> but all in all a nice little project
> 

BTW I'd recommend the Spring JmsTemplate for sending and polling based
consumingor MessageListenerConsumer for event driven consuming - it hides
all the complexities of the JMS API namely JNDI / threading / pooling /
transactions / XA / JCA etc.

--
James
-------
http://macstrac.blogspot.com/

Open Source Integration
http://open.iona.com

-- 
View this message in context: 
http://www.nabble.com/ActiveMQ-tp14037280p14269267.html
Sent from the James - Dev mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to