发帖    主题    评论    推荐    标签    作者    订阅    查搜    注册   登陆   关注
 
面向对象 设计模式 领域驱动设计 企业架构 框架 开发教程 微服务 大数据 扩展性 并发编程 事件驱动 分布式 SOA

我问彭大哥的一个问题,贴在这里,大家都看看

2004-12-29 12:04
赞助商链接

前几天按彭大哥说的,已经解决了在tomcat+mysql下配置一个数据源连接池的问题,可是我有2个数据库要显示,怎么配置呢?
因为有时候设计库的时候用到不止一个库,这样就要配置多数据源,现在配置一个数据源没问题了,可是配置
多个数据源的时候,我按照配置一个的方法来叠加,可是运行不了,
我已经问过彭大哥了,还是想也贴到这里大家都看看,如果彭大哥回复了,我想把回信也发在这里,大家都提高一些:)

我贴一下我的server.xml文件吧:
<?xml version='1.0' encoding='utf-8'?>
<Server>
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"/>
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
<GlobalNamingResources>
<Environment value="30" type="java.lang.Integer" name="simpleValue"/>
<Resource type="org.apache.catalina.UserDatabase" description="User database that can be updated and saved" auth="Container" name="UserDatabase"/>
<Resource type="javax.sql.DataSource" name="jdbc/mysql"/>
<ResourceParams name="UserDatabase">
<parameter>
<name>factory</name>
<value>org.apache.catalina.users.MemoryUserDatabaseFactory</value>
</parameter>
<parameter>
<name>pathname</name>
<value>conf/tomcat-users.xml</value>
</parameter>
</ResourceParams>
<ResourceParams name="jdbc/mysql">
<parameter>
<name>maxWait</name>
<value>5000</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>4</value>
</parameter>
<parameter>
<name>password</name>
<value>123</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:mysql://10.118.1.109:3306/mysql?autoReconnect=true</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.mysql.jdbc.Driver</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>2</value>
</parameter>
<parameter>
<name>username</name>
<value>root</value>
</parameter>
</ResourceParams>

<Resource type="org.apache.catalina.UserDatabase" description="User database that can be updated and saved" auth="Container" name="jdbc/asd"/>
<Resource type="javax.sql.DataSource" auth="Container" name="jdbc/asd"/>
<ResourceParams name="jdbc/asd">
<parameter>
<name>factory</name>
<value>org.apache.catalina.users.MemoryUserDatabaseFactory</value>
</parameter>
<parameter>
<name>pathname</name>
<value>conf/tomcat-users.xml</value>
</parameter>
</ResourceParams>
<ResourceParams name="jdbc/asd">
<parameter>
<name>maxWait</name>
<value>5000</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>4</value>
</parameter>
<parameter>
<name>password</name>
<value>123</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:mysql://10.118.1.109:3306/asd?autoReconnect=true</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.mysql.jdbc.Driver</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>2</value>
</parameter>
<parameter>
<name>username</name>
<value>root</value>
</parameter>
</ResourceParams>
</GlobalNamingResources>

<Service name="Catalina">
<Connector
address="10.118.1.109"
RemoteHostValve="ybc11"
port="80"
maxThreads="150"
minSpareThreads="25"
maxSpareThreads="75"
enableLookups="false"
redirectPort="8443"
acceptCount="100"
debug="0"
connectionTimeout="20000"
disableUploadTimeout="true" URIEncoding="UTF-8"
/>
<Engine defaultHost="localhost" name="Catalina">
<Host appBase="/yangbc-tomcat5" name="10.118.1.109">
<Logger className="org.apache.catalina.logger.FileLogger" suffix=".txt" prefix="localhost_log." timestamp="true"/>
</Host>
<Logger className="org.apache.catalina.logger.FileLogger" suffix=".txt" prefix="catalina_log." timestamp="true"/>
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"/>
</Engine>
</Service>
</Server>

下面这个是我的web.xml文件:其中设置了两个,不知道对不对?
<resource-ref><description>DB Connection</description>
<res-ref-name>jdbc/mysql</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>

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


下面这个是我的站点文件:不知道这样说对不对?
<?xml version='1.0' encoding='utf-8'?>
<Context path="/yangbc-tomcat5" docBase="C:/Tomcat 5.0/yangbc-tomcat5" reloadable="true">
<ResourceLink name="jdbc/mysql" global="jdbc/mysql" type="javax.sql.DataSourcer"/>
</Context>
<Context path="/yangbc-tomcat5" docBase="C:/Tomcat 5.0/yangbc-tomcat5" reloadable="true">
<ResourceLink name="jdbc/asd" global="jdbc/asd" type="javax.sql.DataSourcer"/>
</Context>


下面这个是我的访问文件jsp:
<%@ page language="java" contentType="text/html; charset=gb2312" %>
<!doctype html public "-//w3c//dtd html 4.0 transitional//en""http://www.w3.org/TR/REC-html40/strict.dtd">
<%@ page import="java.sql.*"%>
<%@ page import="javax.sql.*"%>
<%@ page import="javax.naming.*"%>
<%@ page session="false" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title></title>
<%
out.print("我的测试开始");
DataSource ds = null;
//DataSource ds;
try
{
InitialContext ctx=new InitialContext();
//ds=(DataSource)ctx.lookup("java:comp/env/jdbc/mysql");
ds=(javax.sql.DataSource)ctx.lookup("java:comp/env/jdbc/mysql");

Connection conn = ds.getConnection();
Statement stmt = conn.createStatement();
String strSql = "select Host,User,Password from user";
ResultSet rs = stmt.executeQuery(strSql);
out.print("<table border=1>");
while(rs.next())
{
//out.print("<br>"+rs.getString(1));
//out.print(rs.getInt("id"));
out.print("<tr><td>"+rs.getString("Host")+"</td>");
out.print("<td>"+rs.getString("User")+"</td>");
out.println("<td>"+rs.getString("Password")+"</td></tr>");
}
out.print("</table>");
out.print("我的测试结束");
conn.close();
}
catch(Exception ex)
{
out.print("出现例外,信息是:"+ex.getMessage());
ex.printStackTrace();
}
////////////////////////////////////////////////////////////////////
DataSource ds2 = null;
try
{
InitialContext ctx2=new InitialContext();
ds2=(javax.sql.DataSource)ctx2.lookup("java:comp/env/jdbc/asd");
Connection conn2 = ds2.getConnection();
Statement stmt2 = conn2.createStatement();
String strSql2 = "select address,beizhu,userinfo from aae";
ResultSet rs2 = stmt2.executeQuery(strSql2);
out.print("<table border=1>");
while(rs2.next())
{
out.print("<tr><td>"+rs2.getString("address")+"</td>");
out.print("<td>"+rs2.getString("beizhu")+"</td>");
out.println("<td>"+rs2.getString("userinfo")+"</td></tr>");
}
out.print("</table>");
out.print("我的测试结束");
conn2.close();
}
catch(Exception ex2)
{
out.print("出现例外,信息是:"+ex2.getMessage());
ex2.printStackTrace();
}
%>
</head>
<body>
</body>
</html>

2004-12-29 12:06

阿,好像论坛不支持标签,怎么会这样啊

赞助商链接

赞助商链接

返回顶部

移动版 关于本站 使用帮助 联系管理员 最佳分辨率1366x768
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-20 jdon.com