1 package in.co.daffodil.db.jdbc; 2 3 import javax.sql.*; 4 import java.sql.SQLException ; 5 import com.daffodilwoods.daffodildb.server.serversystem._DXAResource; 6 import com.daffodilwoods.daffodildb.server.serversystem._Server; 7 import com.daffodilwoods.database.resource.DException; 8 import java.util.Locale ; 9 import javax.naming.*; 10 11 public class DBXADataSource extends DBDataSource implements XADataSource, ConnectionPoolDataSource { 12 13 private _DXAResource dxResource; 14 15 public DBXADataSource() { 16 super(); 17 } 18 19 _DXAResource getDXAResource() throws SQLException { 20 if(_Server.ISONEDOLLARDB) 21 throw new DException("DSE540", null).getSqlException(null); 22 if(dxResource == null){ 23 try { 24 dxResource = getServer().getDxaResource(); 25 }catch (DException ex) { 26 throw ex.getSqlException(null); 27 } 28 } 29 return dxResource; 30 } 31 32 33 public XAConnection getXAConnection() throws java.sql.SQLException { 34 DaffodilDBConnection conn = (DaffodilDBConnection)getConnection(); 35 DBXAConnectionResource dbXAconnectionResource = new DBXAConnectionResource(this,conn); 36 return dbXAconnectionResource; 37 } 38 39 public XAConnection getXAConnection(String user, String password) throws java.sql.SQLException { 40 DaffodilDBConnection conn = (DaffodilDBConnection)getConnection(user,password); 41 return new DBXAConnectionResource(this,conn); 42 } 43 44 public boolean inGlobalTransaction() { 45 if (dxResource != null) 46 return dxResource.inGlobalTransaction(); 47 return false; 48 } 49 50 public void close() { 51 if(dxResource != null) 52 dxResource.close(); 53 } 54 public PooledConnection getPooledConnection() throws SQLException { 55 return getXAConnection(); 56 } 57 58 public PooledConnection getPooledConnection(String user, String password) throws SQLException { 59 return getXAConnection(user,password); 60 } 61 } 62 | Popular Tags |