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

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

In all cases in which the ConnectionWaitTimeoutException is caught, there is very little that can be done to recover.

	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 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    

Terms of Use | Feedback

Last updated: Sep 20, 2010 10:03:57 PM CDT
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=vela&product=was-nd-zos&topic=conwto
File name: rdat_conwto.html