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.
Ok, what about using JMS throughout James instead of going the ESB
route? 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. 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.
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.
<snip>
to optionally deploy James to Geronimo as a plugin. Has someone in the
know put any thoughts together on what it would take for this type of
deployment of James? What showstoppers are there?
not sure there are really architectural issues with the container: the
advantage of using an IoC container such as pheonix is that it's
relatively easy to adapt to new envionments.
but just running probably isn't enough. probably want to be able to
integrate other services and this is where things become a little more
difficult. ATM the database implementation uses torque. you'd probably
want to hack a alternative implementation using JPA POJOs for the data
binding. maybe could talk to OpenJPA over in the incubator.
may need to think about threading and thread pooling
JMS is one way, like I was saying. Any ESB would implicitly thread pool
for you as well, I assume. I knew nothing about OpenJPA before your
response here. I went and looked at the spec and came away wondering.
What is the data binding you're discussing used for? Persisting
messages to the file system?
On a separate but related topic, I don't yet understand the whole GBean
thing and plugins and how the repository folder system works in
Geronimo. But, it seems to me like Maven and Geronimo have similar
repository schemes, I almost feel like Geronimo could be a target for
Maven builds. If that's the case, perhaps someone has already done our
torque embedding work for us? I found this...
http://mvnrepository.com/artifact/org.apache.db.torque/torque-maven-plugin/3.3-RC1
<snip>
bugs with their help. Official committers on the project took my
patches, reviewed them, and committed them for me. If there was ever an
official James bug day, I would love to get involved, make some new
friends, and (especially) do some work towards the James-As-Plugin
end...
we'll review patches whether it's a bug day or not ;-)
plan on being at the hackathon at apacheconEU?
hee hee, well, the Parrot Bug Day format worked well for me because I
could schedule my time around it, and it happens often enough that I
feel like I can actually achieve something significant with the help of
the experts guiding me. (And in Parrot, there are only a few experts,
so it's good to get them all online chatting and thinking through issues
and helping newbs like me with enhancements they have planned.) At the
Parrot bug day, they keep a wiki updated with people's progress and
projects, it's fun to watch it change throughout the day.
I've thought about going to an apachecon before, I'm in the states, so
an EU apachecon won't work for me unless I make a European backpacking
trip out of it. :) Hackathons sound like just what I am looking for,
do I need to be there in person to participate in one? If you do one
specifically for James, please announce it on both the list and solicit
us moochers, erm, I mean USERS for help! :)
Thanks,
Dave Woldrich
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]