Skip to main content

[jsr338-experts] Re: question regarding jta-data-source

  • From: michael keith <michael.keith@...>
  • To: jsr338-experts@...
  • Cc: Christian Romberg <cromberg@...>
  • Subject: [jsr338-experts] Re: question regarding jta-data-source
  • Date: Fri, 11 May 2012 16:45:05 -0400
  • Organization: Oracle Corporation

Hi Christian,

Yes, that's pretty much how it works.

-Mike

On 11/05/2012 9:45 AM, Christian Romberg wrote:
Hi Mike,

Unlike ORMs, we need to provide the XAResource instances to the app server
(which in turn are associated with our internal connections to the database server)

But I guess, if the user just sees a DataSource, then that will be an app server proxy which eventually delegates to the XADataSource of
our "JDBC" driver (provided I configure a DataSource that returns enlisted connection in the app server using our JDBC driver)

So my pseudo-code assumption of the app servers DataSource proxy is like this:

public class ContainerDataSourceProxy implements DataSource {
   
    XADataSource xaDs = ...;   //XADataSource of the installed JDBC driver for this pool
   
    public Connection getConnection() throws SQLException {
        XAConnection xaCon = xaDs.getXAConnection();
        enlist(xaCon.getXAResource());
        return xaCon.getConnection();
    }
...
}

So we could simply call getConnection() (and not using the returned value at all) to trigger the app servers
enlisting our XAResource.

Regards,

Christian

On Fri, May 11, 2012 at 3:14 PM, michael keith <michael.keith@...> wrote:
Hi Christian,

The data source referenced by the jta-data-source name is a DataSource provided by the container in JNDI. It is the same one that any application could look up and use, hence it is a javax.sql.DataSource.

XADataSource is an internal type used by the driver and container to coordinate XA, but users of the data source are not expected to participate at that level. The JPA provider acts like a client of the data source, using its connections to read and write, so it does not need to be aware of the XA protocol being implemented underneath.

Hope this makes things clearer.

Regards,
-Mike


On 10/05/2012 7:50 AM, Christian Romberg wrote:
Hello,

It is not explicitly mentioned in the spec, but I guess I can safely assume, that the data source denoted by
jta-data-source is of type "javax.sql.XADataSource"?

After the JPA implementation has obtained an XAConnection from this XADataSource, is it expected to
to do any calls (and if so, in any specific order) on this XAConnection?

E.g. is it necessary, to call XAConnection.getConnection() to trigger that the app server calls XAConnection.getXAResource()
on the very same XAConnection? Or is it sufficient to just call "XADataSource.getXAConnection()" to trigger this?

(Some background: we don't use JDBC connections (being not an ORM) and probably we would need to provide our own
XADataSource implementation, so that the app server picks up our own XAResource implementation)

Thank you!

Christian

--
Christian Romberg
Chief Engineer | Versant GmbH
(T) +49 40 60990-0
(F) +49 40 60990-113
(E) cromberg@...
www.versant.com | www.db4o.com

--
Versant
GmbH is incorporated in Germany. Company registration number: HRB
54723, Amtsgericht Hamburg. Registered Office: Halenreie 42, 22359
Hamburg, Germany. Geschäftsführer: Bernhard Wöbker, Volker John


CONFIDENTIALITY
NOTICE: This e-mail message, including any attachments, is for the sole
use of the intended recipient(s) and may contain confidential or
proprietary information. Any unauthorized review, use, disclosure or
distribution is prohibited. If you are not the intended recipient,
immediately contact the sender by reply e-mail and destroy all copies of
the original message.







--
Christian Romberg
Chief Engineer | Versant GmbH
(T) +49 40 60990-0
(F) +49 40 60990-113
(E) cromberg@...
www.versant.com | www.db4o.com

--
Versant
GmbH is incorporated in Germany. Company registration number: HRB
54723, Amtsgericht Hamburg. Registered Office: Halenreie 42, 22359
Hamburg, Germany. Geschäftsführer: Bernhard Wöbker, Volker John


CONFIDENTIALITY
NOTICE: This e-mail message, including any attachments, is for the sole
use of the intended recipient(s) and may contain confidential or
proprietary information. Any unauthorized review, use, disclosure or
distribution is prohibited. If you are not the intended recipient,
immediately contact the sender by reply e-mail and destroy all copies of
the original message.






[jsr338-experts] question regarding jta-data-source

Christian Romberg 05/10/2012

[jsr338-experts] Re: question regarding jta-data-source

michael keith 05/11/2012

[jsr338-experts] Re: question regarding jta-data-source

Christian Romberg 05/11/2012

[jsr338-experts] Re: question regarding jta-data-source

Pinaki Poddar 05/11/2012

[jsr338-experts] Re: question regarding jta-data-source

michael keith 05/11/2012

[jsr338-experts] Re: question regarding jta-data-source

Christian Romberg 05/14/2012

[jsr338-experts] Re: question regarding jta-data-source

michael keith 05/14/2012

[jsr338-experts] Re: question regarding jta-data-source

Christian Romberg 05/14/2012

[jsr338-experts] Re: question regarding jta-data-source

Christian Romberg 05/14/2012

[jsr338-experts] Re: question regarding jta-data-source

Christian Romberg 05/14/2012

[jsr338-experts] Re: question regarding jta-data-source

Pinaki Poddar 05/14/2012

[jsr338-experts] Re: question regarding jta-data-source

Christian Romberg 05/15/2012

[jsr338-experts] Re: question regarding jta-data-source

Christian Romberg 05/15/2012

[jsr338-experts] Re: [jpa-spec users] Re: question regarding jta-data-source

Scott Marlow 05/17/2012

[jsr338-experts] Re: [jpa-spec users] Re: question regarding jta-data-source

Christian Romberg 05/21/2012
 
 
Close
loading
Please Confirm
Close