`
wangcheng
  • 浏览: 1466487 次
  • 性别: Icon_minigender_1
  • 来自: 青岛人在北京
社区版块
存档分类
最新评论

Tomcat 配置多数据源

    博客分类:
  • java
阅读更多

前几天有朋友问Tomcat 中配置多数据源,做了个小例子。

数据源: 本机MySQL的2个数据库 mydb1, mydb2
先在Eclipse中建立一个Web项目, 我的叫MyWebApp

在apache-tomcat-5.5.17\conf\Catalina\localhost中,建立名为MyWebApp.xml的文件,在其中指明项目路径和数据源配置,内容如下:

xml 代码
  1. <Context path="/" docBase="D:/workspaceWTP1.5/MyWebApp/web" debug="99" reloadable="true">  
  2.     <Logger className="org.apache.catalina.logger.FileLogger" prefix="dvs." suffix=".txt" timestamp="true"/>  
  3.     <Resource  
  4.     name="jdbc/mydb1"  
  5.     type="javax.sql.DataSource"  
  6.     driverClassName="com.mysql.jdbc.Driver"  
  7.     maxIdle="30"  
  8.     maxWait="10000"  
  9.     username=""  
  10.     password=""  
  11.     url="jdbc:mysql://localhost/mydb1?autoReconnect=true&amp;useUnicode=true&amp;characterEncoding=utf-8"  
  12.     maxActive="100"/>  
  13.        
  14.     <Resource  
  15.     name="jdbc/mydb2"  
  16.     type="javax.sql.DataSource"  
  17.     driverClassName="com.mysql.jdbc.Driver"  
  18.     maxIdle="30"  
  19.     maxWait="10000"  
  20.     username=""  
  21.     password=""  
  22.     url="jdbc:mysql://localhost/mydb2?autoReconnect=true&amp;useUnicode=true&amp;characterEncoding=utf-8"  
  23.     maxActive="100"/>  
  24. </Context>  

然后在MyWebApp项目的WEB-INF/web.xml 中引用这两个数据源

xml 代码
  1. <resource-env-ref>  
  2.     <description>myDB1 Connection</description>  
  3.     <resource-env-ref-name>jdbc/mydb1</resource-env-ref-name>  
  4.     <resource-env-ref-type>javax.sql.DataSource</resource-env-ref-type>  
  5. </resource-env-ref>  
  6.   
  7. <resource-env-ref>  
  8.     <description>myDB2 Connection</description>  
  9.     <resource-env-ref-name>jdbc/mydb2</resource-env-ref-name>  
  10.     <resource-env-ref-type>javax.sql.DataSource</resource-env-ref-type>  
  11. </resource-env-ref>  

这样就可以在web应用中使用这两个数据源了,可以写个简单的servlet测试

java 代码
  1. public static final String namespace = "java:comp/env";   
  2.   
  3. public DataSource getDataSource(String resourceName) throws NamingException {   
  4.     InitialContext init = new InitialContext();   
  5.     Context ctx = (Context)init.lookup(namespace);   
  6.     return (DataSource)ctx.lookup(resourceName);   
  7. }   
  8.   
  9. private void doService(HttpServletRequest request, HttpServletResponse response) throws IOException, NamingException, SQLException {   
  10.     DataSource ds1 = getDataSource("jdbc/mydb1");   
  11.     DataSource ds2 = getDataSource("jdbc/mydb2");   
  12.        
  13.     response.getWriter().println("DataSource ds1 is : " + ds1);   
  14.     response.getWriter().println("DataSource ds2 is : " + ds2);   
  15.        
  16.     Connection conn1 = ds1.getConnection();   
  17.     String sql1 = "select email from users where id = 15";   
  18.     response.getWriter().println("email is : " + executeQuery(conn1, sql1));   
  19.   
  20.     Connection conn2 = ds2.getConnection();   
  21.     String sql2 = "select product_name from products where id = 1";   
  22.     response.getWriter().println("Product Name is : " + executeQuery(conn2, sql2));   
  23. }  

其中executeQuery方法就是简单的数据库查询,这里就不详细写了.

如果使用Hibernate也很简单,只要在两个不同的hibernate.cfg.xml文件中分别指定不同的hibernate.connection.datasource就可以了.

分享到:
评论

相关推荐

    详细介绍在tomcat中配置数据源原理

    Tomcat 中配置数据源原理详解 在本文中,我们将详细介绍在 Tomcat 中配置数据源的原理。数据源是指Java应用程序连接数据库的接口,通过配置数据源,我们可以在 Java 应用程序中访问数据库。 首先, let's talk ...

    tomcat配置jndi数据源

    Tomcat 配置 JNDI 数据源 Tomcat 是一个流行的 Java Web 服务器,JNDI(Java Naming and Directory Interface)是 Java 中的一种命名和目录接口规范。Tomcat 中的 JNDI 数据源是指将数据库连接信息注册到 JNDI ...

    在Tomcat配置JNDI数据源的三种方式

    在Tomcat配置JNDI数据源的三种方式

    tomcat配置JNDI数据源

    通过JNDI配置数据源,使得数据库连接可以在多个应用之间共享,简化了应用的配置,同时提高了系统的可扩展性和可维护性。在实际开发中,还可以使用更高级的连接池实现,如C3P0、Apache DBCP2或HikariCP,它们提供了更...

    tomcat 配置工程 数据源

    tomcat 配置工程 数据源

    tomcat配置db2数据源jar包

    5. **web.xml配置**:在你的Web应用的`WEB-INF/web.xml`文件中,也需要配置数据源,以便在应用中可以找到并使用。 ```xml &lt;description&gt;DB2 Datasource &lt;res-ref-name&gt;jdbc/DB2DS &lt;res-type&gt;javax.sql....

    tomcat配置数据源步骤

    下面将详细阐述Tomcat配置数据源的步骤以及其工作原理。 1. **理解数据源与连接池** 数据源是Java中的一个接口,通常由JNDI(Java Naming and Directory Interface)服务管理,它提供了一种统一的方式来获取和释放...

    tomcat 配置数据源

    在本篇内容中,我们将详细解析如何在Apache Tomcat服务器中配置数据源。这涉及到Tomcat服务器的基础配置、数据源的定义以及与数据库的具体连接参数等。这些知识点对于理解和掌握如何在Tomcat环境下高效地管理和使用...

    Tomcat配置JNDI数据源的N种方法

    Tomcat配置JNDI数据源的N种方法

    tomcat中配置数据源

    本篇文章将深入探讨如何在Tomcat中配置数据源,以便于应用程序高效、稳定地访问数据库。 数据源(DataSource)是Java EE中用于管理数据库连接的接口,它提供了一种在多线程环境中安全、有效地管理和重用数据库连接...

    在Tomcat中配置数据源

    ### 在Tomcat中配置数据源:深入解析与实践 #### 核心概念解析: **数据源(DataSource)**:在Java EE环境中,数据源是一种管理数据库连接的方式,它提供了访问数据库的标准接口。通过数据源,应用程序可以获取到...

    TomCat数据源配置

    本篇文章将详细介绍如何在Tomcat 5.5版本中配置数据源,以及如何在JSP程序中使用这个配置好的数据源。 首先,我们来看一下Tomcat 5.5中的数据源配置。数据源(DataSource)是Java应用程序用来管理数据库连接的一种...

    tomcat下配置数据源附xml文件

    在Tomcat中配置数据源是连接数据库的关键步骤,对于任何Web应用来说都是至关重要的。这里我们将深入探讨如何在Tomcat中配置数据源,并提供一个XML配置文件的示例。 首先,我们需要了解数据源是什么。在Java术语中,...

    Tomcat配置数据源

    以上就是Tomcat配置MySQL数据源的基本步骤。需要注意的是,配置过程可能因Tomcat版本的不同而略有差异,具体可参考官方文档(如给出的链接)进行调整。同时,为了提高性能和安全性,建议使用连接池管理工具如C3P0或...

    TOMCAT 中的数据源配置

    用于在tomcat中配置java数据源用于在tomcat中配置java数据源用于在tomcat中配置java数据源用于在tomcat中配置java数据源用于在tomcat中配置java数据源。

    tomcat数据源连接池配置

    本篇文章将详细介绍如何在Tomcat中配置数据源连接池,以及涉及的相关jar包文件。 首先,理解数据源(DataSource)的概念。数据源是一个接口,用于管理数据库连接,它提供了一种在多个线程或应用之间共享数据库连接...

    为Tomcat6配置数据源

    ### 为Tomcat6配置数据源 #### 一、配置文件概述 在为Tomcat6配置数据源之前,首先需要了解Tomcat6的配置文件结构。Tomcat6的配置文件主要位于`$TOMCAT6_HOME/conf`目录下,其中包括`server.xml`和`context.xml`两...

    TomCat 添加 oracle 数据源

    然而,在配置数据源并将其与应用程序关联起来的过程中,往往面临着繁琐且易错的操作,尤其是在不同Web服务器上进行配置时。本文将详细介绍如何在Apache Tomcat服务器环境下配置Oracle数据源,并通过实例演示整个过程...

    Tomcat JDNI数据源配置详解

    本文将详细介绍如何在Tomcat环境下使用JNDI配置数据源。 #### 二、JNDI简介 JNDI(Java Naming and Directory Interface)是Java平台提供的一种标准接口,用于访问各种命名和目录服务。它允许开发者以统一的方式...

Global site tag (gtag.js) - Google Analytics