LINUX下TOMCAT连接池问题???谁能帮我?

03-08-30 森林
但是,我配置好了。datasource找到了。。。但是CONNETION连接的时候就没连上。。我一头雾水,不知道该怎么办??哪位大虾直到一下??谢谢!!

server.xml 配置:

<!--<Context path="/DBTest" docBase="DBTest"

debug="5" reloadable="true" crossContext="true">

-->

<Context path="" docBase="ROOT" debug="0"/>

<Logger className="org.apache.catalina.logger.FileLogger"

prefix="localhost_DBTest_log." suffix=".txt"

timestamp="true"/>

<Resource name="jdbc/MysqlDB"

auth="Container"

type="javax.sql.DataSource"/>

<ResourceParams name="jdbc/MysqlDB">

<parameter>

<name>factory</name>

<value>org.apache.catalina.users.MemoryUserDatabaseFactory</value>

</parameter>

<!-- Maximum number of dB connections in pool. Make sure you

configure your mysqld max_connections large enough to handle

all of your db connections. Set to 0 for no limit.

-->

<parameter>

<name>maxActive</name>

<value>100</value>

</parameter>

<!-- Maximum number of idle dB connections to retain in pool.

Set to 0 for no limit.

-->

<parameter>

<name>maxIdle</name>

<value>30</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>10000</value>

</parameter>

<!-- MySQL dB username and password for dB connections -->

<parameter>

<name>username</name>

<value>root</value>

</parameter>

<parameter>

<name>password</name>

<value></value>

</parameter>

<!-- Class name for mm.mysql JDBC driver -->

<parameter>

<name>driverClassName</name>

<value>com.mysql.jdbc.Driver</value>

</parameter>

<!-- The JDBC connection url for connecting to your MySQL dB.

The autoReconnect=true argument to the url makes sure that the

mm.mysql JDBC Driver will automatically reconnect if mysqld closed the

connection. mysqld by default closes idle connections after 8 hours.

-->

<parameter>

<name>url</name>

<value>jdbc:mysql://localhost:3306/frc?autoReconnect=true</value>

</parameter>

</ResourceParams>

</Context>

WEB-APP ROOT下WEB。XML配置:

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app

PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"

"http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>

<display-name>Welcome to Tomcat</display-name>

<!-- <description>

Welcome to Tomcat

</description>

-->

<description>MySQL Test App</description>

<resource-ref>

<description>DB Connection</description>

<res-ref-name>jdbc/MysqlDB</res-ref-name>

<res-type>javax.sql.DataSource</res-type>

<res-auth>Container</res-auth>

</resource-ref>

</web-app>

测试程序:

<%@ page contentType="text/html;charset=GBK"%>

<%@ page import="javax.naming.Context" %>

<%@ page import="javax.sql.DataSource"%>

<%@ page import="javax.naming.InitialContext"%>

<%@ page import="java.sql.*"%>

<%

try{

out.println("查询数据库"+"<br>");

Context initCtx = new InitialContext();

Context ctx = (Context) initCtx.lookup("java:comp/env");

//获取连接池对象

Object obj = (Object) ctx.lookup("jdbc/MysqlDB");

//类型转换

javax.sql.DataSource ds = (javax.sql.DataSource)obj;

out.println("查询数据库1"+"<br>");

Connection conn = ds.getConnection();

out.println("查询数据库2"+"<br>");

Statement stmt = conn.createStatement();

out.println("查询数据库3"+"<br>");

//String strSql = "insert into city(ciytid,ciytname,orderno) values(7,'chongqing',7) ";

//stmt.executeUpdate(strSql);

String strSql = " select ciytid,ciytname from city ";

out.println("查询数据库4"+"<br>");

ResultSet rs = stmt.executeQuery(strSql);

out.println("查询数据库5"+"<br>");

while(rs.next()){

out.println(rs.getInt(1));

out.println(rs.getString(2));

}

out.println("查询数据库6"+"<br>");

conn.close();

}catch(Exception ex){

//out.println("错误查询数据库2!!!!!"+"<br>");

ex.printStackTrace();

}

%>

只打印出来了

查询数据库

查询数据库1

错误查询数据库2!!!!!

应该是getconnection 那一步出错了??谁能告诉我错在那里??

我用的是TOMCAT4.1.24+MYSQL4.0.14在LINUX下面的配置!!!

森林
2003-08-30 09:39
但是,我配置好了。datasource找到了。。。但是CONNETION连接的时候就没连上。。我一头雾水,不知道该怎么办??哪位大虾直到一下??谢谢!!

server.xml 配置:

<!--<Context path="/DBTest" docBase="DBTest"

debug="5" reloadable="true" crossContext="true">

-->

<Context path="" docBase="ROOT" debug="0"/>

<Logger className="org.apache.catalina.logger.FileLogger"

prefix="localhost_DBTest_log." suffix=".txt"

timestamp="true"/>

<Resource name="jdbc/MysqlDB"

auth="Container"

type="javax.sql.DataSource"/>

<ResourceParams name="jdbc/MysqlDB">

<parameter>

<name>factory</name>

<value>org.apache.catalina.users.MemoryUserDatabaseFactory</value>

</parameter>

<!-- Maximum number of dB connections in pool. Make sure you

configure your mysqld max_connections large enough to handle

all of your db connections. Set to 0 for no limit.

-->

<parameter>

<name>maxActive</name>

<value>100</value>

</parameter>

<!-- Maximum number of idle dB connections to retain in pool.

Set to 0 for no limit.

-->

<parameter>

<name>maxIdle</name>

<value>30</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>10000</value>

</parameter>

<!-- MySQL dB username and password for dB connections -->

<parameter>

<name>username</name>

<value>root</value>

</parameter>

<parameter>

<name>password</name>

<value></value>

</parameter>

<!-- Class name for mm.mysql JDBC driver -->

<parameter>

<name>driverClassName</name>

<value>com.mysql.jdbc.Driver</value>

</parameter>

<!-- The JDBC connection url for connecting to your MySQL dB.

The autoReconnect=true argument to the url makes sure that the

mm.mysql JDBC Driver will automatically reconnect if mysqld closed the

connection. mysqld by default closes idle connections after 8 hours.

-->

<parameter>

<name>url</name>

<value>jdbc:mysql://localhost:3306/frc?autoReconnect=true</value>

</parameter>

</ResourceParams>

</Context>

WEB-APP ROOT下WEB。XML配置:

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app

PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"

"http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>

<display-name>Welcome to Tomcat</display-name>

<!-- <description>

Welcome to Tomcat

</description>

-->

<description>MySQL Test App</description>

<resource-ref>

<description>DB Connection</description>

<res-ref-name>jdbc/MysqlDB</res-ref-name>

<res-type>javax.sql.DataSource</res-type>

<res-auth>Container</res-auth>

</resource-ref>

</web-app>

测试程序:

<%@ page contentType="text/html;charset=GBK"%>

<%@ page import="javax.naming.Context" %>

<%@ page import="javax.sql.DataSource"%>

<%@ page import="javax.naming.InitialContext"%>

<%@ page import="java.sql.*"%>

<%

try{

out.println("查询数据库"+"<br>");

Context initCtx = new InitialContext();

Context ctx = (Context) initCtx.lookup("java:comp/env");

//获取连接池对象

Object obj = (Object) ctx.lookup("jdbc/MysqlDB");

//类型转换

javax.sql.DataSource ds = (javax.sql.DataSource)obj;

out.println("查询数据库1"+"<br>");

Connection conn = ds.getConnection();

out.println("查询数据库2"+"<br>");

Statement stmt = conn.createStatement();

out.println("查询数据库3"+"<br>");

//String strSql = "insert into city(ciytid,ciytname,orderno) values(7,'chongqing',7) ";

//stmt.executeUpdate(strSql);

String strSql = " select ciytid,ciytname from city ";

out.println("查询数据库4"+"<br>");

ResultSet rs = stmt.executeQuery(strSql);

out.println("查询数据库5"+"<br>");

while(rs.next()){

out.println(rs.getInt(1));

out.println(rs.getString(2));

}

out.println("查询数据库6"+"<br>");

conn.close();

}catch(Exception ex){

//out.println("错误查询数据库2!!!!!"+"<br>");

ex.printStackTrace();

}

%>

只打印出来了

查询数据库

查询数据库1

错误查询数据库2!!!!!

应该是getconnection 那一步出错了??谁能告诉我错在那里??

我用的是TOMCAT4.1.24+MYSQL4.0.14在LINUX下面的配置!!!

森林
2003-08-30 09:40
但是,我配置好了。datasource找到了。。。但是CONNETION连接的时候就没连上。。我一头雾水,不知道该怎么办??哪位大虾直到一下??谢谢!!

server.xml 配置:

<!--<Context path="/DBTest" docBase="DBTest"

debug="5" reloadable="true" crossContext="true">

-->

<Context path="" docBase="ROOT" debug="0"/>

<Logger className="org.apache.catalina.logger.FileLogger"

prefix="localhost_DBTest_log." suffix=".txt"

timestamp="true"/>

<Resource name="jdbc/MysqlDB"

auth="Container"

type="javax.sql.DataSource"/>

<ResourceParams name="jdbc/MysqlDB">

<parameter>

<name>factory</name>

<value>org.apache.catalina.users.MemoryUserDatabaseFactory</value>

</parameter>

<!-- Maximum number of dB connections in pool. Make sure you

configure your mysqld max_connections large enough to handle

all of your db connections. Set to 0 for no limit.

-->

<parameter>

<name>maxActive</name>

<value>100</value>

</parameter>

<!-- Maximum number of idle dB connections to retain in pool.

Set to 0 for no limit.

-->

<parameter>

<name>maxIdle</name>

<value>30</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>10000</value>

</parameter>

<!-- MySQL dB username and password for dB connections -->

<parameter>

<name>username</name>

<value>root</value>

</parameter>

<parameter>

<name>password</name>

<value></value>

</parameter>

<!-- Class name for mm.mysql JDBC driver -->

<parameter>

<name>driverClassName</name>

<value>com.mysql.jdbc.Driver</value>

</parameter>

<!-- The JDBC connection url for connecting to your MySQL dB.

The autoReconnect=true argument to the url makes sure that the

mm.mysql JDBC Driver will automatically reconnect if mysqld closed the

connection. mysqld by default closes idle connections after 8 hours.

-->

<parameter>

<name>url</name>

<value>jdbc:mysql://localhost:3306/frc?autoReconnect=true</value>

</parameter>

</ResourceParams>

</Context>

WEB-APP ROOT下WEB。XML配置:

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app

PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"

"http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>

<display-name>Welcome to Tomcat</display-name>

<!-- <description>

Welcome to Tomcat

</description>

-->

<description>MySQL Test App</description>

<resource-ref>

<description>DB Connection</description>

<res-ref-name>jdbc/MysqlDB</res-ref-name>

<res-type>javax.sql.DataSource</res-type>

<res-auth>Container</res-auth>

</resource-ref>

</web-app>

猜你喜欢