I hope someone can help me with this problem. I have a webapp that used
an JNDI datasource that runs fine on my local test environment. When I
put it on my server it fails with the following error:
javax.servlet.jsp.JspException: Unable to get connection, DataSource invalid:
"org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class
'' for connect URL 'null'"
JDBC drivers for postgreSQL are in <tomcat_home>/common/lib.
I wrote a java app that uses straight JDBC with the same connection URL and
other parameters and it worked just fine.
My local test environment is tomcat 5.5 running through eclipse with the web
tools plugins.
In production I'm using tomcat 5.5 also, exporting my project as a WAR file.
I'm at a loss as to what could be wrong. Can anyone help me?
Dan
Here are my configuration files:
server.xml
--------------------------
<Server port="8005" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"
/>
<Listener
className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/>
<!-- Define the Tomcat Stand-Alone Service -->
<Service name="Catalina">
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009"
enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
<!-- An Engine represents the entry point (within Catalina) that processes
every request. The Engine implementation for Tomcat stand alone
analyzes the HTTP headers included with the request, and passes them
on to the appropriate Host (virtual host). -->
<!-- Define the top level container in our container hierarchy -->
<Engine name="Catalina" defaultHost="localhost">
<!-- Define the default virtual host -->
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs" prefix="localhost_access_log." suffix=".txt"
pattern="common" resolveHosts="false"/>
</Host>
<Host name="xxxx.xxxxx.com" appBase="/var/www/xxxx"
unpackWARs="false" autoDeploy="true">
<Context path="/" docBase="xxxxWeb.war" debug="0" reloadable="true"/>
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs" prefix="trinket_access_log." suffix=".txt"
pattern="common" resolveHosts="false"/>
</Host>
</Engine>
</Service>
</Server>
META-INF/context.xml
--------------------------------------------
<Context>
<!-- defines the trinket database as a resource -->
<Resource name="jdbc/xxxxDB"
auth="Container"
factory="org.apache.commons.dbcp.BasicDataSourceFactory"
type="javax.sql.DataSource"
driverClassName="org.postgresql.Driver"
url="jdbc:postgresql://localhost:5432/database"
username="user"
password="pass"
maxActive = "10"
maxWait = "10000"
removeAbandoned = "true"
removeAbandonedTimeout = "60"
maxIdle = "5"
validationQuery = "select 1"
testWhileIdle = "true"
initialSize = "5"
minIdle = "3"
timeBetweenEvictionRunsMillis = "30000"
numTestsPerEvictionRun = "3"
minEvictableIdleTimeMillis = "24000" />
</Context>
WEB-INF/web.xml
-----------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>Website</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<!-- defines the datasource for database lookups -->
<resource-ref>
<description>Database Connection</description>
<res-ref-name>jdbc/xxxxDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
index.jsp
---------------------------------------
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%-- here we test to see if an email address has been submitted or not --%>
<c:if test="${param.go == 'go'}">
<sql:query var="emailCheck" dataSource="jdbc/trinketDB">select
address from email_store where address='${param.email}'</sql:query>
${emailCheck.rowCount}
<c:if test="${emailCheck.rowCount < 1}">
<sql:update dataSource="jdbc/trinketDB">insert into email_store
(address) values ('${param.email}')</sql:update>
<c:set var="emailGiven" value="true" scope="session" />
</c:if>
</c:if>
....
---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]