Re: JDBC XA Support and Sample code?

Lists: pgsql-jdbc
From: "Jignesh K(dot) Shah" <J(dot)K(dot)Shah(at)Sun(dot)COM>
To: pgsql-jdbc(at)postgresql(dot)org
Subject: JDBC XA Support and Sample code?
Date: 2007-12-05 20:56:01
Message-ID: 47571061.9040506@sun.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-jdbc

Hello All,

I am new to the XA world of PostgreSQL. What's the story of XA in
PostgreSQL JDBC Driver? Also are there examples on how to use the
"Experimental" XA driver in postgresql-jdbc?

Thanks.
Regards,
Jignesh


From: Kris Jurka <books(at)ejurka(dot)com>
To: "Jignesh K(dot) Shah" <J(dot)K(dot)Shah(at)Sun(dot)COM>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: JDBC XA Support and Sample code?
Date: 2007-12-05 22:07:35
Message-ID: Pine.BSO.4.64.0712051702370.10354@leary.csoft.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-jdbc

On Wed, 5 Dec 2007, Jignesh K. Shah wrote:

> I am new to the XA world of PostgreSQL. What's the story of XA in PostgreSQL
> JDBC Driver? Also are there examples on how to use the "Experimental" XA
> driver in postgresql-jdbc?
>

PG's XA support is not expiremental, it's been part of the driver since
the 8.1 release. How it's used depends a lot on who/what is managing your
transactions, so it's not real straightforward to put together concrete
examples and configurations. The JDBC driver's testsuite
(org.postgresql.test.xa) manually issues xa transaction commands, so it's
the most clear use of XA, but not really representative of actual usage.

Kris Jurka


From: "Jignesh K(dot) Shah" <J(dot)K(dot)Shah(at)Sun(dot)COM>
To: Kris Jurka <books(at)ejurka(dot)com>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: JDBC XA Support and Sample code?
Date: 2007-12-05 22:18:56
Message-ID: 475723D0.5030500@sun.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-jdbc

So how come the API documentation for it is in privateapi and not
publicapi.. That prompted me to infer that it is experimental. (I may
not be alone in drawing that inference from it.)

Thanks for pointer to the testsuite I will take a look at it.

-Jignesh

Kris Jurka wrote:
>
>
> On Wed, 5 Dec 2007, Jignesh K. Shah wrote:
>
>> I am new to the XA world of PostgreSQL. What's the story of XA in
>> PostgreSQL JDBC Driver? Also are there examples on how to use the
>> "Experimental" XA driver in postgresql-jdbc?
>>
>
> PG's XA support is not expiremental, it's been part of the driver
> since the 8.1 release. How it's used depends a lot on who/what is
> managing your transactions, so it's not real straightforward to put
> together concrete examples and configurations. The JDBC driver's
> testsuite (org.postgresql.test.xa) manually issues xa transaction
> commands, so it's the most clear use of XA, but not really
> representative of actual usage.
>
> Kris Jurka


From: Kris Jurka <books(at)ejurka(dot)com>
To: "Jignesh K(dot) Shah" <J(dot)K(dot)Shah(at)Sun(dot)COM>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: JDBC XA Support and Sample code?
Date: 2007-12-05 22:31:39
Message-ID: Pine.BSO.4.64.0712051722470.1360@leary.csoft.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-jdbc

On Wed, 5 Dec 2007, Jignesh K. Shah wrote:

> So how come the API documentation for it is in privateapi and not publicapi..
> That prompted me to infer that it is experimental. (I may not be alone in
> drawing that inference from it.)

The driver just implements the standard interfaces in J2SE, so there's
nothing that really needs to be exposed from an API standpoint.
PGXADataSource should be moved to the public API, but it's unlikely for
people to call it directly.

Kris Jurka


From: Heikki Linnakangas <heikki(at)enterprisedb(dot)com>
To: "Jignesh K(dot) Shah" <J(dot)K(dot)Shah(at)Sun(dot)COM>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: JDBC XA Support and Sample code?
Date: 2007-12-06 17:55:06
Message-ID: 4758377A.60404@enterprisedb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-jdbc

Jignesh K. Shah wrote:
> I am new to the XA world of PostgreSQL. What's the story of XA in
> PostgreSQL JDBC Driver? Also are there examples on how to use the
> "Experimental" XA driver in postgresql-jdbc?

As Kris pointed out, it's not experimental.

It's typically used together with an application server that also acts
as the transaction manager, and manages the connections and transactions
for you. In that case, you don't need to do anything special; if you use
two database connections or other resource managers in a transaction,
the application server will perform two-phase commit using the XA driver
behind the scenes.

The tricky part is configuring the application server/transaction
manager to use the XA-enabled PGXADataSource. That's different on each
product. It would be nice to get a sample config file and tutorial on
Glassfish, hint hint ;-)

--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com


From: "Garber, Mikhail" <mgarber(at)amazon(dot)com>
To: "Jignesh K(dot) Shah" <J(dot)K(dot)Shah(at)Sun(dot)COM>
Cc: "pgsql-jdbc(at)postgresql(dot)org" <pgsql-jdbc(at)postgresql(dot)org>
Subject: Re: JDBC XA Support and Sample code?
Date: 2007-12-06 18:08:14
Message-ID: 5B6EE82A8CF89149BA864458DB6053470386CE0F20@EX-SEA5-A.ant.amazon.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-jdbc


> It's typically used together with an application server that
> also acts as the transaction manager, and manages the
> connections and transactions for you. In that case, you don't
> need to do anything special; if you use two database
> connections or other resource managers in a transaction, the
> application server will perform two-phase commit using the XA
> driver behind the scenes.

Just FYI, I used Postgres XA driver against two databases using Spring and BTM transaction manager. My configuration was based on what is in BTM documentation. It worked just fine. I was not able to "break" it.

> -----Original Message-----
> From: pgsql-jdbc-owner(at)postgresql(dot)org
> [mailto:pgsql-jdbc-owner(at)postgresql(dot)org] On Behalf Of Heikki
> Linnakangas
> Sent: Thursday, December 06, 2007 9:55 AM
> To: Jignesh K. Shah
> Cc: pgsql-jdbc(at)postgresql(dot)org
> Subject: Re: [JDBC] JDBC XA Support and Sample code?
>
> Jignesh K. Shah wrote:
> > I am new to the XA world of PostgreSQL. What's the story of XA in
> > PostgreSQL JDBC Driver? Also are there examples on how to use the
> > "Experimental" XA driver in postgresql-jdbc?
>
> As Kris pointed out, it's not experimental.
>
> It's typically used together with an application server that
> also acts as the transaction manager, and manages the
> connections and transactions for you. In that case, you don't
> need to do anything special; if you use two database
> connections or other resource managers in a transaction, the
> application server will perform two-phase commit using the XA
> driver behind the scenes.
>
> The tricky part is configuring the application
> server/transaction manager to use the XA-enabled
> PGXADataSource. That's different on each product. It would be
> nice to get a sample config file and tutorial on Glassfish,
> hint hint ;-)
>
> --
> Heikki Linnakangas
> EnterpriseDB http://www.enterprisedb.com
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 1: if posting/reading through Usenet, please send an appropriate
> subscribe-nomail command to majordomo(at)postgresql(dot)org
> so that your
> message can get through to the mailing list cleanly
>


From: Kris Jurka <books(at)ejurka(dot)com>
To: "Jignesh K(dot) Shah" <J(dot)K(dot)Shah(at)Sun(dot)COM>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: JDBC XA Support and Sample code?
Date: 2008-02-19 05:33:08
Message-ID: Pine.BSO.4.64.0802190032220.20865@leary.csoft.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-jdbc

On Wed, 5 Dec 2007, Jignesh K. Shah wrote:

> So how come the API documentation for it is in privateapi and not publicapi..
> That prompted me to infer that it is experimental. (I may not be alone in
> drawing that inference from it.)
>

OK, I've moved PGXADataSource to the public API. Will be in the next site
build.

Kris Jurka