Re: PostgreSQL (XADataSource) as Tomcat Resource
От | Heikki Linnakangas |
---|---|
Тема | Re: PostgreSQL (XADataSource) as Tomcat Resource |
Дата | |
Msg-id | Pine.OSF.4.61.0604091059250.169983@kosh.hut.fi обсуждение исходный текст |
Ответ на | PostgreSQL (XADataSource) as Tomcat Resource ("markds75" <markds75@gmail.com>) |
Список | 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
В списке pgsql-jdbc по дате отправления: