Has anyone tried to get Jackrabbit's JCA working with Jencks (or
another JCA provider) in Tomcat? I'm pretty new to JCA but my
understanding is that, ideally, the app server handles the repository
lifecycle and individual servlets access it through JNDI. But the JCA
support seems to not be usable with JNDI, and creates the repository
inside itself. The reason I think I need JCA transactions is that I'm
using both Jackrabbit and JDO in my project; I'd like them to
participate in 2PC transactions.
The specific problem I'm seeing is actually during unit testing, so
its outside Tomcat. Both JDO and Jackrabbit are configured to use a
PostgreSQL installation, but with different user/pass, and in
different databases within the installation. During the unit tests,
I'm seeing 2 or more postgresql processes started for each file that
contains integration tests (that actually use JDO and/or Jackrabbit
instead of mocking them). By the time the tests finish, there are
more than 50 open database connections; they are all released when
maven finishes executing, but not before. Watching the active
processes, it is obvious that no more than two of the postgresql
processes are ever actively used, and they are always the most
recently created processes (based on process ID). Just in case this
is an OS issue, I'm running on MacOS X.
If anyone could provide guidance for this situation, I'd really
appreciate it. Also, if it would be easier for me to simply be using
a J2EE server like JBoss or Geronimo, I'd appreciate knowing that too
(I should be able to use cactus to run the integration tests inside
the app server, right?).
Thanks,
Mark
- Jackrabbit JCA with Jencks and Tomcat Mark Slater
-