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

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

The following code fragment shows how to use this exception in the JDBC API:

  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) {
        }
    }
  }



 

See Also


Data sources
Connection pooling

 

See Also


Connection pool settings