Thanks for the responses on this subject. I've been thinking about my
request, and I think it was a little too grandiose. All I really need
to run James in the same VM as another java application is to be able to
start it from a dedicated thread and then have a mechanism (JMX or
telnet command) to have James perform an orderly shutdown where a
System.exit() is not required. That would enable me to embed James in a
web application easily.
Is a System.exit() really required to shut James down, or is it just
assumed right now that James is running the VM and System.exit() is the
most expeditious mode of termination? PostgreSQL has an interesting way
of dealing with shutdown. It has a system property you can set to
control whether System.exit() will be called when it terminates. This
made embedding its server daemon in Geronimo feasible ... the web app
can spawn PostgreSQL on a thread and issue SQL commands to its TCP port
when shutdown is required - once the PostgreSQL thread signals
termination, the webapp destroy() method can return.
Steve Brewin wrote:
Yes, this is right except that counter to David's requirements, without a
substantial rework of James such a JCA would have to connect to James
running in a separate JVM. This is because James acquires and manages its
own resources, which precludes running as a local J2EE managed connector
that obtains resources, such as threads and DB connections from the J2EE
app. server.
As this is the case, its hard to see what advantage is gained by
implementing a James JCA, which I guess is why no-one has done it.
-- Steve
Not to mention that every time I've tried to write a JCA, I failed
miserably to understand what was going on and consequently got nothing
done. Didn't really spend too much time on the problem though...
So in the near future, I don't see how your request could be
fullfilled, except...
...Maybe you would like to participate and contribute to this
worthwhile effort? :-)
I would try to help wherever I can...
Bernd
Hey Bernd,
I have contributed to open source projects before, but usually just to
contribute bug fixes or to file bug reports. I am currently working on
collaboration software at http://cardmeeting.com that I hope to
integrate James with at some point as the project matures and
notifications are needed. If I didn't have CardMeeting, I'd probably
take you up on your suggestion - I feel like James is one of the most
important Apache top level projects and there's not enough visibility on
it yet. A lot of glory yet to be had. :)
Cheers,
Dave
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]