package org.glassfish.jdbc.devtests.v3.test; import java.io.PrintWriter; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; import java.util.HashMap; import java.util.Map; import javax.naming.InitialContext; import javax.sql.DataSource; import javax.transaction.SystemException; import org.glassfish.jdbc.devtests.v3.util.HtmlUtil; /** * * @author jagadish */ public class LazyConnectionAssociationTest implements SimpleTest { Map<String, Boolean> resultsMap = new HashMap<String, Boolean>(); public Map<String, Boolean> runTest(DataSource ds1, PrintWriter out) { try { if (testLazyAssoc_1(ds1, out)) { resultsMap.put("lazy-connection-association", true); }else{ resultsMap.put("lazy-connection-association", false); } } catch (Exception e) { resultsMap.put("lazy-connection-association", false); } return resultsMap; } /** * acquire specified number of connections and <b>do not</b> close it, so that further requests on this test * should still pass as lazy-assoc is <b>ON</b> * @param i * @param ds */ private void acquireConnections(int count, DataSource ds, PrintWriter out) throws Exception{ for(int i=0; i<count ; i++){ ds.getConnection(); } } private boolean testLazyAssoc_1(DataSource ds1, PrintWriter out) throws SystemException { boolean pass = false; HtmlUtil.printHR(out); out.println("<h4> Lazy connection association test </h4>"); try{ acquireConnections(32, ds1, out); pass = true; }catch(Exception e){ HtmlUtil.printException(e, out); } HtmlUtil.printHR(out); return pass; } }