From: | Heikki Linnakangas <hlinnaka(at)iki(dot)fi> |
---|---|
To: | markds75 <markds75(at)gmail(dot)com> |
Cc: | pgsql-jdbc(at)postgresql(dot)org |
Subject: | Re: PostgreSQL (XADataSource) as Tomcat Resource |
Date: | 2006-04-09 08:50:24 |
Message-ID: | Pine.OSF.4.61.0604091059250.169983@kosh.hut.fi |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc |
On Wed, 5 Apr 2006, markds75 wrote:
> How can I get Postgres to be deployed in Tomcat's JNDI as an
> XADataSource?
>
> I'm running my web app in Tomcat, and I'm moving towards distributed
> transactions for my two data sources (JDO and JCR). I've got the Jencks
> library providing JTA support (based on Geronimo's TransactionManager)
> within Tomcat. Currently, I have Postgres configured as a local web-app
> Resource as follows:
>
> <Resource name="jdbc/whisper_db"
> auth="Container"
> type="javax.sql.DataSource"
> url="jdbc:postgresql://127.0.0.1:5432/my_db"
> driverClassName="org.postgresql.Driver"
> username="----------------"
> password="----------------"
> maxWait="3000"
> maxIdle="100"
> maxActive="10" />
>
> The web-app is able to start up without errors in this case and things
> function as expected. However, I've been told that I should be using an
> XADataSource if I want JDO to participate in distributed transactions
> (specifically, I'm trying to get 2 phase commit). When I change the
> type to "javax.sql.XADataSource", the web-app fails to start because
> Tomcat cannot create the JNDI entry. I'm running under Java 1.5, so to
> my knowledge XADataSource is included.
>
> Any pointers would be appreciated.
I don't know how to do it, but you certainly shouldn't have the driver
class name (org.postgresql.Driver) there. That's only used for non-XA
connections. You should somehow tell it that the class implementing
XADataSource is org.postgresql.xa.PGXADataSource.
I don't know anything about Jencks, but it seems that it uses the
TranQL connector module from Geronimo to glue in XADataSource
implementations. Unfortunately, there's no TranQL connector for
PostgreSQL. Fortunately, it shouldn't be too hard to write one, using the
existing connectors as an example.
However, I would suggest using another app server / JTA implementation. I
had success with JOnAS, which includes JOTM as it's JTA implementation.
JBoss should work too.
- Heikki
From | Date | Subject | |
---|---|---|---|
Next Message | Michael Schmidt | 2006-04-10 03:28:13 | Re; pg_dump from Java |
Previous Message | Michael Schmidt | 2006-04-09 00:07:25 | pg_dump from Java |