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]

Reply via email to