JiveJdon Community Forums
在线110人 J道首页 | 论坛首页 | 培训咨询 | 开源框架 | 精华 | 查搜 | 注册 | 登陆 |
首页 » 论坛 » 项目工程开发经验谈
???en_US.forumThreadPrev.name??? 上一主题
Go back to the topic listing   返回主题列表
???en_US.forumThreadNext.name??? 下一主题
这个主题共有 5 回复 / 1 页 [ ]  发表新帖子  回复该主题贴
森林

发表文章: 10
注册时间: 2003年08月26日 11:16
TOMCAT的项目,是不是必须自己写数据库连接池???TOMCAT能自己配置连接池,而不需要自己写连接池了吗?请哪位高手解答一下? 发表: 2003年08月26日 11:21 回复
TOMCAT的项目,是不是必须自己写数据库连接池???TOMCAT能自己配置连接池,而不需要自己写连接池了吗?请哪位高手解答一下
wlw

发表文章: 2
注册时间: 2003年08月29日 10:09
Re: TOMCAT的项目,是不是必须自己写数据库连接池???TOMCAT能自己配置连接池,而不需要自己写连接池了吗?请哪位高手解答一下? 发表: 2003年08月29日 11:34 回复
不是,jakarta工程提供了一个已经写好的连接池DBCP,
请参考下面的http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jndi-datasource-examples-howto.html
森林

发表文章: 10
注册时间: 2003年08月26日 11:16
但是,我配置好了。datasource找到了。。。但是CONNETION连接的时候就没连上。。。 发表: 2003年08月30日 09:22 回复
但是,我配置好了。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下面的配置!!!
森林

发表文章: 10
注册时间: 2003年08月26日 11:16
但是,我配置好了。datasource找到了。。。但是CONNETION连接的时候就没连上。。。 发表: 2003年08月30日 09:23 回复
但是,我配置好了。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下面的配置!!!
iceant

发表文章: 462
注册时间: 2002年10月13日 22:32
Re: TOMCAT的项目,是不是必须自己写数据库连接池???TOMCAT能自己配置连接池,而不需要自己写连接池了吗?请哪位高手解答一下? 发表: 2003年08月31日 20:51 回复
Tomcat 的文档里有DataSource 配置的教程。照着做就可以了,记着要用 java:comp/env/YOUR_DATASOURCE_NAME
j4v4

发表文章: 30
注册时间: 2003年02月12日 16:54
Re: TOMCAT的项目,是不是必须自己写数据库连接池???TOMCAT能自己配置连接池,而不需要自己写连接池了吗?请哪位高手解答一下? 发表: 2003年09月05日 09:45 回复
自己写连接池,可以参考,jive源代码的连接池实现方法。

可以参考:

com.jivesoftware.forum.database.DefaultConnectionProvider
这个主题有 5 回复 / 1 页 [ ]
???en_US.forumThreadPrev.name??? 上一主题
Go back to the topic listing   返回主题列表    返回页首  返回页首
???en_US.forumThreadNext.name??? 下一主题
热点TAG: AOP cache DDD EJB 集群 设计模式 Hibernate IOC JiveJdon OO RBAC Spring Struts
查询本论坛内 回复超过的热门帖子
快速发表回复
标题
 
粗体 斜体 下划线 插入图片 插入代码 插入url链接 插入附件
内容
 

解惑之道在J道 ,打造中国最具影响力的的企业软件社区
OpenSource JIVEJDON v3.0 Powered by JdonFramework Code © 2002-07 jdon.com

anti spam