+

Search Tips   |   Advanced Search

 

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

 

This code sample demonstrates how you specify the conditions under which WAS 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