Hello list!

Thanks to Robert Sowders, John and Craig, I've finally set DBCP up. For those who still trying to do the same, here is my configuration. If anybody have issues about it, please respond.

--= [ server.xml snippet ]=--
<Resource name="jdbc/esljsp"
type="javax.sql.DataSource"
auth="Container"
scope="Unshareable"
description="Database resource for esljsp project" />
<ResourceParams name="jdbc/esljsp">
<parameter>
<name>url</name>
<value>jdbc:oracle:thin:@dbhost:1521:sid</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>oracle.jdbc.driver.OracleDriver</value>
</parameter>
<parameter>
<name>username</name>
<value>dbusername</value>
</parameter>
<parameter>
<name>password</name>
<value>dbpasswd</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>20</value>
<type>java.lang.Integer</type>
</parameter>
<parameter>
<name>maxIdle</name>
<value>10</value>
<type>java.lang.Integer</type>
</parameter>
<parameter>
<name>maxWait</name>
<value>5000</value>
<type>java.lang.Long</type>
</parameter>
<parameter>
<name>defaultAutoCommit</name>
<value>false</value>
<type>java.lang.Boolean</type>
</parameter>
<parameter>
<name>defaultReadOnly</name>
<value>false</value>
<type>java.lang.Boolean</type>
</parameter>
<parameter>
<name>validationQuery</name>
<value>select count(MODULE_ID) from MODULE</value>
</parameter>
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
</ResourceParams>
--= [ / server.xml snippet ]=--

This is not exactly what I want, because I wanted to use Oracle's DBCP implementation instead of Jakarta's one. But I'll take more investigation on it.

--= [ / web.xml snippet ]=--
<resource-ref>
<description>Oracle database resource for esljsp project</description>
<res-ref-name>jdbc/esljsp</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Unshareable</res-sharing-scope>
</resource-ref>
--= [ / web.xml snippet ]=--

--= [ index.jsp ] =--
<%@ page info="Database access test|Index page"
contentType="text/html; charset=utf-8"
import="javax.naming.InitialContext, javax.naming.Context"
import="javax.sql.DataSource"
import="java.sql.Connection, java.sql.Statement"
import="java.sql.ResultSet"
%>
<html>
<head>
<title>Database access test: index page</title>
</head>
<body>
<%
Context initCtx=new InitialContext();
Context envCtx=(Context)initCtx.lookup("java:comp/env");
DataSource ds=(DataSource)envCtx.lookup("jdbc/esljsp");
//out.print("<br>"+ds);
Connection con=ds.getConnection();
//out.print("<br>"+con);
Statement stmt=con.createStatement(ResultSet.TYPE_FORWARD_ONLY,
ResultSet.CONCUR_READ_ONLY);
//out.print("<br>"+stmt);
ResultSet sections=stmt.executeQuery("select MODULE_ID, NAME, TABLE_NAME, SYSTEM_NAME from MODULE order by MODULE_ID asc");
//out.print("<br>"+sections);
while (sections.next()) {
out.print("<br>"+sections.getInt(1));
out.print("<br>"+sections.getString(2));
out.print("<br>"+sections.getString(3));
out.print("<br>"+sections.getString(4));
out.print("<br>&nbsp;");
}
%>
</body>
</html>
--= [ index.jsp ] =--

Now I have a question. How do I make sure that connections are really taken from pool, and not maden each time I ask for a new one? I'm sure there is some simple technique to check it, but I don't know where to look in...


--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to