On 8/9/06, Patrick Linskey <[EMAIL PROTECTED]> wrote:

Moving forward, JCA is unlikely to be the best way to integrate OpenJPA
into a container.

JCA does two things: it provides a framework for integrating
transactional resources into a JTA environment, and it provides
lifecycle / configuration / bootstrapping hooks. Sadly, it also suffers
from some unfortunate weaknesses in how transaction semantics are
defined that basically render it unusable for things like OpenJPA --
OpenJPA needs to be notified at certain phases in the lifecycle of a
transaction, and those lifecycle points are not available in JCA.


In the EJB3 spec, we defined a contract between the JPA impl and the
"container" (EJB or otherwise), and we convinced the JTA team to add the
TransactionSynchronizationRegistry interface. So, JTA + the
JPA/container contract are the best way to use OpenJPA in a Java EE 5


For J2EE 1.4 apps, JCA does provide some theoretical utility for hooking
into an appserver's standard JCA configuration mechanisms, and for
getting registered in JNDI in a somewhat-standard way.

In any event, the JCA impl code is not currently part of the OpenJPA
codebase; that's a bug in the docs.

I guess that we need to decide what the story should be for deploying
OpenJPA into a pre-Java EE 5 appserver. If we decide that JCA is that
way, then maybe the best approach is for BEA to contribute the existing
JCA wrappers around OpenJPA.


Even with its short-comings, I liked the idea of wrappering OpenJPA as a JCA
Resource Adapter for pre-Java EE 5 appservers.  It seems a bit better than
just using the standard Application-managed interfaces.  And, since many of
us have customers that are on pre-Java EE 5 appservers, it seems like a good


Patrick Linskey
BEA Systems, Inc.

> -----Original Message-----
> From: Kevin Sutter [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, August 09, 2006 2:43 PM
> To: open-jpa-dev@incubator.apache.org
> Subject: JCA Resource Adapter?
> According to Section 3 (J2EE Tutorials, specifically 3.2 J2EE
> Installation
> Types), the recommended approach to using OpenJPA in a
> managed environment
> is via the JCA rar file:
> JCA: OpenJPA implements the JCA 1.0 spec, and the
> openjpa-persistence.rarfile that comes in the
> jca/persistence directory of the distribution can be
> installed as any other
> JCA connection resource. This is the preferred way to
> integrate OpenJPA into
> a pre-J2EE 5 environment. It allows for simple installation (usually
> involving uploading or copying openjpa-persistence.rar into
> the application
> server's deployment directory), and guided configuration on
> many appservers.
> Is this supposed to be part of the OpenJPA deliverable?  I do
> not seem to
> building the .rar file, nor can I find any reference to the
> jca/persistence
> directory that is mentioned above.  Should I open a JIRA bug for this?
> Thanks,
> Kevin
Notice:  This email message, together with any attachments, may contain
information  of  BEA Systems,  Inc.,  its subsidiaries  and  affiliated
entities,  that may be confidential,  proprietary,  copyrighted  and/or
legally privileged, and is intended solely for the use of the individual
or entity named in this message. If you are not the intended recipient,
and have received this message in error, please immediately return this
by email and then delete it.

Reply via email to