Operating Systems: i5/OS
             Personalize the table of contents and search results

 

Example: Handling data access exception - ConnectionWaitTimeoutException (for the JDBC API)

 

This code sample demonstrates how you specify the conditions under which WebSphere Application Server issues the ConnectionWaitTimeout exception for a JDBC application.

In all cases in which the ConnectionWaitTimeout exception is caught, there is very little to do for recovery.

 public void test1() {
  java.sql.Connection conn = null;
  java.sql.Statement stmt = null;
  java.sql.ResultSet rs = null;

  try {
   // Look for datasource
   java.util.Properties props = new java.util.Properties();
   props.put(
    javax.naming.Context.INITIAL_CONTEXT_FACTORY,
    "com.ibm.websphere.naming.WsnInitialContextFactory");
   ic = new javax.naming.InitialContext(props);
   javax.sql.DataSource ds1 = (javax.sql.DataSource) ic.lookup(jndiString);

   // Get Connection.
   conn = ds1.getConnection();
   stmt = conn.createStatement();
   rs = stmt.executeQuery("select * from mytable where this = 54");
  }
  catch (com.ibm.websphere.ce.cm.ConnectionWaitTimeoutException cwte) {
   //notify the user that the system could not provide a 
   //connection to the database.  This usually happens when the 
   //connection pool is full and there is no connection 
   //available for to share.
  }
  catch (java.sql.SQLException sqle) {
   // handle other database problems.
  }
  finally {
   if (rs != null)
    try {
     rs.close();
    }
    catch (java.sql.SQLException sqle1) {
    }
   if (stmt != null)
    try {
     stmt.close();
    }
    catch (java.sql.SQLException sqle1) {
    }
   if (conn != null)
    try {
     conn.close();
    }
    catch (java.sql.SQLException sqle1) {
    }
  }
 }




 

Related concepts


Data sources
Connection pooling

 

Related Reference


Connection pool settings

 

Reference topic