On 2/1/07, David Woldrich <[EMAIL PROTECTED]> wrote:
Hi Robert, > <snip> >> >> and I want a lot more. I want mail and news servers in Geronimo too, >> and I want mailets that can call local EJB's that I can redeploy at will >> (or perhaps even make local EJB's that are themselves mailets.) > > mailets that are EJB sounds better than calling EJBs from mailets > > but POJOs with context sound even better (cool to mix in with service > buses etc) bit like activication specification message beans (mail is > just another message, after all) > Ah, I'm not sure what you are getting at here? "Service Bus" like an ESB? That would be nifty - they are great at shuttling messages about.
yeh all a mailet does is process mail. mailets are similar structurally to MDBs of the activation specification kind
Ok, what about using JMS throughout James instead of going the ESB route?
from a mailet's perspective, it just wants mail messages. whether the mail arrives through JMS, web service or SMPT should be the intergrator's problem. ESBs thrive on this. no reason to unnecessarily restrict to JMS.
One useful thing about JMS is that it builds your threadpools implicitly. One other useful thing is JMS would allow you to modularize and distribute pieces of James into separate plugins and improve scalability.
we need full blown SEDA, JMS just isn't good enough but it should be possible for an integrator to pipe JMS through to an internal spool.
If there isn't one already, making administration/configuration JMX or web consoles for James would be a nifty deal as well and being integrated with Geronimo would really spur that development.
AIUI james already has some JMX but it's in need of improvement
I have to say one more thing about how well the ApacheDS integrated with Geronimo. The Geronimo deployer tool went out to ibiblio, downloaded dependencies, organized everything in the repository folder, AND started the ldap server before finishing! All of the custom LDAP database files were automagically created and are stored in the new geronimo/var/ldap folder. God, it's all so dang slick. I want my james folder under var!! :) >> Hot redeployable mailets would be something nifty. > > +1 > > some sort of mailet packaging would be very cool (but i was saving > this subject for another day) Well, this is why I was suggesting EJB for that role and you wouldn't have to reinvent the redeployment plumbing. A mailet EJB could just implement some Mailet interface, and the James config could just take a JNDI name. At runtime, James could cache the home and create local or remote instances for invocation, and then cast to org.apache.james.Mailet for calling. Auto retry logic in getting the home could handle the redeployment scenarios when/if the cached home becomes stale. After the home creates them, Local EJB's are pretty much a pojo performance-wise if you disable EJB transactions and security. With the new annotations, they're a breeze to build in Eclipse too, I've been having a lot of fun with that.
IMHO mailets aren't really all that similar to session beans. they are structurally similar to message driven beans which take a particular kind of payload. they are very similar to activation specification message beans. probably more natural to integrate using the resource adapter specifications - robert --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]