Tomcat JNDI configuration

From: Wojciech Michalik <wojtekmichalik(at)softtellco(dot)com(dot)pl>
To: pgsql-jdbc(at)postgresql(dot)org
Subject: Tomcat JNDI configuration
Date: 2005-10-16 19:30:54
Message-ID: 1129491053.6734.14.camel@localhost.localdomain
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

I am using Tomcat (5.5.9|| 5.5.7) and 7.4 database version. In my
application I am trying to create DBCP. Still getting this error:
javax.servlet.ServletException: Unable to get connection, DataSource
invalid: "java.sql.SQLException: No suitable driver

Newest driver is in $TOMCAT_HOME/common/libs/
When I try to use the database through normal connection everything
works fine:
<sql:setDataSource var="my_data_source" driver="org.postgresql.Driver"
url="jdbc:postgresql://localhost:5432/prac_samp_jsp" user="pingwin"
password="pingwinek_-_"/>
<sql:query var="empList" scope="request" dataSource="${my_data_source}"
>
SELECT * FROM Employee
WHERE FirstName LIKE ?
AND LastName LIKE ?
AND Dept LIKE ?
ORDER BY LastName
<sql:param value="%${param.firstName}%" />
<sql:param value="%${param.lastName}%" />
<sql:param value="%${param.dept}%" />
</sql:query>

Piece of code from jsp page causing this error is:
<sql:query var="empList" scope="request">
I do not specify any connection parameters here.
my aproprite web.xml piece:
<resource-ref>
<description>
JNDI DataSource for example database
</description>
<res-ref-name>jdbc/Sample_JSPBook</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Sharable</res-sharing-scope>
</resource-ref>
<context-param>
<param-name>javax.servlet.jsp.jstl.sql.dataSource</param-name>
<param-value>jdbc/JSP_Book</param-value>
</context-param>

In server.xml it looks like this:
<Resource name="jdbc/JSP_Book" auth="Container"
type="javax.sql.DataSource" />
<ResourceParams name="jdbc/JSP_Book">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>org.postgresql.Driver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:postgresql:prac_samp_jsp://localhost:5432/prac_samp_jsp</value>
</parameter>
<parameter>
<name>username</name> <!--Dont forget to change the realm
username/password to-->
<value>myusername</value>
</parameter>
<parameter>
<name>password</name>
<value>mypassword</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>25</value>
</parameter>
<!-- Maximum number of idle dB connections to retain in pool.
Set to 0 for no limit.
-->
<parameter>
<name>maxIdle</name>
<value>0</value>
</parameter>
<!-- Maximum time to wait for a dB connection to become available
in ms, in this example 10 seconds. An Exception is thrown if
this timeout is exceeded. Set to -1 to wait indefinitely.
-->
<parameter>
<name>maxWait</name>
<value>-1</value>
</parameter>
<!-- To configure a DBCP DataSource so that abandoned dB connections are
removed and
recycled add the following paramater to the ResourceParams configuration
for your DBCP
DataSource Resource: -->
<parameter>
<name>removeAbandoned</name>
<value>true</value>
</parameter>
<!--Use the removeAbandonedTimeout parameter to set the number of
seconds a dB connection has been idle before it is considered abandoned.
-->
<parameter>
<name>removeAbandonedTimeout</name>
<value>600</value> <!--Wait 3 hour before statuating a connection is
abandoned-->
</parameter>

<!-- The logAbandoned parameter can be set to true if you want DBCP to
log a stack trace
of the code which abandoned the dB connection resources. -->

<parameter>
<name>logAbandoned</name>
<value>true</value>
</parameter>

</ResourceParams>

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Tom Arthurs 2005-10-17 04:54:40 Re: Tomcat JNDI configuration
Previous Message Gianluca Maiolini 2005-10-16 19:12:01 unsuscribe