jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Giota Karadimitriou" <Giota.Karadimitr...@eurodyn.com>
Subject RE: Beginners JTA question
Date Wed, 01 Feb 2006 09:16:16 GMT
Thank you very much Dominique, these guidelines are really important 
as they are the first ones I came across all this time that have showed
me a way to try and embed transaction handling with application server.

I tried to do what you suggested but still have problems with rar
deployment. I just wanted to report to the list that I think I found a
small error in the example ds file in deploy/jboss/4.x. 
The connection definition tag should be (according to JBoss
documentation) the ConnectionFactory interface defined in the ra.xml NOT
the connection interface.

Therefore instead of 
<connection-definition>javax.jcr.Session</connection-definition>

it should be 

<connection-definition>javax.jcr.Repository</connection-definition>

right?

Sth else, should the rar be deployed as part of an ear or standalone?

I try to deploy it standalone for the time being, but I get a "Could not
create connection factory exception". I know this is application server
specific and I have been looking into relevant docs/forums but if
somebody has tried what Dominique suggests and has come across similar
behaviour please shed some light on what could be the problem. Thanks.

regards
Giota


-----Original Message-----
From: dominique.pfister@gmail.com [mailto:dominique.pfister@gmail.com]
On Behalf Of Dominique Pfister
Sent: Thursday, January 12, 2006 9:43 AM
To: jackrabbit-dev@incubator.apache.org
Subject: Re: Beginners JTA question

Hi Kevin,

The UserTransactionImpl in Jackrabbit is used solely for testing
purposes, where you usually don't have an application server within
reach, sorry, if this is confusing.

In order to make Jackrabbit work as an XA resource, you have to make
it available as a resource adapter (RA) in your application server.
There is a contribution named jca in the contrib directory that
packages jackrabbit into a deployable RAR (resource adapter archive).

For BEA, you'll probably want to add a weblogic-ra.xml to the RAR's
META-INF folder that specifies the JNDI name where your RA will be
made available to applications. Finally, your web application will
need a resource-ref entry that has to be linked to the RA's JNDI name.
If you then reference this resource in your code:

Repository rep = (Repository) new
InitialContext().lookup("java:comp/env/jackrabbit");

it will automatically be enlisted as an XAResource in BEA's
UserTransaction.

Cheers
Dominique

On 1/11/06, Kevin Wiggen <kwiggen@xythos.com> wrote:
> Sorry if this question is a newbie to JTA question, but I have been
> looking at the jackrabbit code and I can't figure the following out.
>
>
>
> I want to use Jackrabbit in my BEA container and use JTA to coordinate
> the transaction with Jackrabbit and my other JTA transactional
> resources.  The other resources already are plugged into the BEA world
> and code uses the BEA UserTransaction to coordinate the interaction
> between these resources.
>
>
>
> The short question is how do I wire up Jackrabbit to work in this
world?
>
>
>
> From what I see (and I can be completely looking in the wrong spot),
> Jackrabbit uses XASessionImpl to appear as a XAResource, and I see in
> XATest how the Jackrabbit UserTransactionImpl is used to get a
> Jackrabbit specific UserTransaction, but I already have my own
> UserTransaction (well BEA's).
>
>
>
> Am I missing something obvious?  I just don't see how I can get
> Jackrabbit to play in my UserTransaction world....
>
>
>
> Thanks for the help,
>
> Kevin
>
>
>


Mime
View raw message