[jboss-user] [JCA/JBoss] - Re: EJB3 - XA datasource - Transactions - XAER_OUTSIDE

adrian@jboss.org do-not-reply at jboss.com
Mon Jan 29 07:03:00 EST 2007


"apill" wrote : 
  | How could the connection be used in a local transaction when the data source is setup as XA?
  | 

e.g. Hibernate or the EJB2.1 container will check the tables exist during deployment.
During deployment there is no JTA transaction, so they are free to do:


  | connection.setAutoCommit(false);
  | try
  | {
  |    // check/create tables
  | }
  | finally
  | {
  |    connection.commit();
  | 
  | }
  | 

Which is a local transaction.

This is option (1) on the list of solutions on the link posted.

If this was the problem then using no-tx-seperate-pools would fix it.
The connection used outside a JTA transaction would NOT be used
for a connection inside a JTA transaction (they would come from different
sub-pools).

anonymous wrote : 
  | What does it mean by
  | 
  | Quote:
  | 
  | change the application attributes or application to complete the connection.
  | 
  | 
  | Is that something I can do, or is it something JBoss needs to do?
  | 

This is option (2) on the list of solutions.
It means you are passing the wrong parameters. This is not the case
for JBoss, which will pass the XID and the correct flags to the
XAResource.start()

Which leaves option (3) - apply patches to fix the database/jdbc driver.

ALL THE OTHER QUESTIONS ARE FOR IBM.
There is nothing we can do to fix/debug IBM drivers or "guess"
what the problem is for an IBM generated error message.
(That is short of reverse engineering, which I'm sure is disallowed
by their license :-)

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4007733#4007733

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4007733



More information about the jboss-user mailing list