FileDocCategorySizeDatePackage
DataSource.javaAPI DocGlassfish v2 API5496Fri May 04 22:36:02 BST 2007com.sun.appserv.jdbc

DataSource

public interface DataSource implements DataSource
The javax.sql.DataSource implementation of SunONE application server will implement this interface. An application program would be able to use this interface to do the extended functionality exposed by SunONE application server.

A sample code for getting driver's connection implementation would like the following.

InitialContext ic = new InitialContext();
com.sun.appserv.DataSource ds = (com.sun.appserv.DataSOurce) ic.lookup("jdbc/PointBase");
Connection con = ds.getConnection();
Connection drivercon = ds.getConnection(con);

// Do db operations.

con.close();
author
Binod P.G

Fields Summary
Constructors Summary
Methods Summary
public java.sql.ConnectiongetConnection(java.sql.Connection con)
Retrieves the actual SQLConnection from the Connection wrapper implementation of SunONE application server. If an actual connection is supplied as argument, then it will be just returned.

param
con Connection obtained from Datasource.getConnection()
return
java.sql.Connection implementation of the driver.
throws
java.sql.SQLException If connection cannot be obtained.

public java.sql.ConnectiongetNonTxConnection()
Gets a connection that is not in the scope of any transaction. This can be used to save performance overhead incurred on enlisting/delisting each connection got, irrespective of whether its required or not. Note here that this meethod does not fit in the connector contract per se.

return
java.sql.Connection
throws
java.sql.SQLException If connection cannot be obtained

public java.sql.ConnectiongetNonTxConnection(java.lang.String userName, java.lang.String password)
Gets a connection that is not in the scope of any transaction. This can be used to save performance overhead incurred on enlisting/delisting each connection got, irrespective of whether its required or not. Note here that this meethod does not fit in the connector contract per se.

param
user User name for authenticating the connection
param
password Password for authenticating the connection
return
java.sql.Connection
throws
java.sql.SQLException If connection cannot be obtained

public voidmarkConnectionAsBad(java.sql.Connection conn)
API to mark a connection as bad. If the application can determine that the connection is bad, using this api, it can notify the resource-adapter which inturn will notify the connection-pool. Connection-pool will drop and create a new connection. eg:
com.sun.appserv.jdbc.DataSource ds=
(com.sun.appserv.jdbc.DataSource)context.lookup("dataSource");
Connection con = ds.getConnection();
Statement stmt = null;
try{
stmt = con.createStatement();
stmt.executeUpdate("Update");
}catch(BadConnectionException e){
dataSource.markConnectionAsBad(con) //marking it as bad for removal
}finally{
stmt.close();
con.close(); //Connection will be destroyed while close or Tx completion
}

param
conn java.sql.Connection