tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mark Witczak <witc...@acm.org>
Subject Problem starting connection pooling
Date Fri, 22 Jan 2010 03:05:04 GMT
I'm very new to Tomcat, connection pooling, JSP, etc. and I've been 
banging my head against a wall for two weeks trying to get a simple 
program to connect to a MySQL database.

*Vital Stats:*
Ubuntu 9.10, Java 1.6.0_0,  Java Servelet 2.5, Java Server Pages 2.1, 
JSTL 1.2, Apache2, Tomcat 6.0.20, MySQL 5.1.41 & 5.0.67
MySQL Connector/J 5.1.11 (also 5.1.10) - in $CATALINA_HOME/lib
dbcp 1.2.1 - in $CATALINA_HOME/lib
(all standard Ubuntu issue)

*testapp/WEB-INF/web.xml:*
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    version="2.5">

<description>
       Servlet and JSP Examples.
</description>
<display-name>Servlet and JSP Examples</display-name>

<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/mydatabase</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>

*testapp/META-INF/context.xml:*
<?xml version="1.0" encoding="UTF-8"?>

<Context path="/junk" docBase="junk"
         debug="5" reloadable="true" crossContext="true">

<Resource name="jdbc/mydatabase" auth="Container" 
type="javax.sql.DataSource"
                maxActive="100" maxIdle="30" maxWait="10000"
                username="foo" password="bar" 
driverClassName="com.mysql.jdbc.Driver"
                url="jdbc:mysql://test.hostname.com:3306/database_test1"/>
</Context>

*testapp/testapp.jsp:*
<%@ page contentType="text/html" %>
<%-- These libraries are required for the <c> and <sql> tags --%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<html>
<head>
<title>JNDI DBCP Test Page</title>
</head>
<body>

<h1>JNDI DBCP Test Page</h1>
<br/>Executing the query ...
<br/>

<%-- Note: Enter a query that is valid for your database here --%>
<sql:query var="result" dataSource="jdbc/mydatabase">
         SELECT company FROM manuals
</sql:query>
</body>
</html>

I create the WAR (jar cvf testapp.war *), undeploy the old version and 
redeploy the new one through Tomcat Web Application Manager. Then 
restart Tomcat (sudo /etc/init.d/tomcat restart). The result is:

Jan 21, 2010 9:40:35 PM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: contextInitialized()
Jan 21, 2010 9:40:35 PM org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: contextInitialized()
Jan 21, 2010 9:43:06 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet jsp threw exception
javax.servlet.jsp.JspException: Unable to get connection, DataSource 
invalid: "org.apache.commons.dbcp.SQLNestedException: Cannot create 
PoolableConnectionFactory (Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. 
The driver has not received any packets from the server.)"
         at 
org.apache.taglibs.standard.tag.common.sql.QueryTagSupport.getConnection(Unknown 
Source)
         at 
org.apache.taglibs.standard.tag.common.sql.QueryTagSupport.doStartTag(Unknown 
Source)
         at 
org.apache.jsp.test_jsp._jspx_meth_sql_005fquery_005f0(test_jsp.java:188)
         at org.apache.jsp.test_jsp._jspService(test_jsp.java:138)
         at 
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
Blah, Blah, Blah....

*More info: *The connection to MySQL tested successfully using the 
command line 'mysql'. There are no firewalls, that I can find, between 
the servers.

What is going on here? What am I missing? What is going on here? How do 
I fix it?

-Do I need to create a "foo" user in the tomcat-users.xml?
-Do I have to mess with the policy files? or security?

Thanks for your help.
Mark



Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message