1 22 package org.enhydra.jdbc.oracle; 23 24 import org.enhydra.jdbc.standard.StandardXADataSource; 25 26 import javax.sql.XADataSource ; 27 import javax.sql.XAConnection ; 28 import javax.naming.Reference ; 29 import javax.naming.Context ; 30 import javax.naming.Name ; 31 import java.sql.SQLException ; 32 import java.util.Hashtable ; 33 34 37 public class OracleXADataSource extends StandardXADataSource implements XADataSource { 38 39 42 public OracleXADataSource () { 43 super(); 45 } 46 47 50 public XAConnection getXAConnection () throws SQLException { 51 return getXAConnection (user, password); 52 } 53 54 57 public XAConnection getXAConnection (String user, String password) throws SQLException { 58 OracleXAConnection xac = new OracleXAConnection (this, user, password); 59 xac.setTransactionManager(transactionManager); 60 connectionCount++; 61 return xac; 62 } 63 64 67 public Object getObjectInstance(Object refObj, Name name, Context nameCtx, Hashtable env) throws Exception { 68 Reference ref = (Reference )refObj; 69 if (ref.getClassName().equals(getClass().getName())) { 70 OracleXADataSource dataSource = new OracleXADataSource (); 71 dataSource.setDriverName((String )ref.get("driverName").getContent()); 72 dataSource.setUrl((String )ref.get("url").getContent()); 73 return dataSource; 74 } else { 75 return null; 76 } 77 } 78 79 } 80 | Popular Tags |