`
Ben.Sin
  • 浏览: 233630 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Tomcat 热配置以及配置DataSource

阅读更多

Tomcat可以在Webapps新建项目,但通常这样的做法不利于管理项目文件,也不利于切换版本

Tomcat可以在配置Tomcat Folder\conf\Catalina\localhost\目录下新建xxx.xml进行热配置,通过docBase指向项目文件目录则可

<?xml version='1.0' encoding='utf-8'?>

<Context docBase="E:\Work\AnsonSolder\WebRoot" path="/anson" reloadable="true" debug="0">
</Context>

docBase指定项目文件所在目录

path指定web application发布的别名

reloadable指定是否实时同步(发布)项目文件

debug指定是否允许debug

(其他参数待补充)

 

除此之外,还可以在这个文件配置DataSource,但是Tomcat5.0跟5.5有点区别,以下是5.5的DataSource配置

<?xml version='1.0' encoding='utf-8'?>

<Context docBase="E:\Work\AnsonSolder\WebRoot" path="/anson" reloadable="true" debug="0">

	<Resource name="jdbc/AnsonSolderDB"
			  auth="Container"
			  type="javax.sql.DataSource"
			  maxActive="100"
			  maxIdle="30"
	                  maxWait="10000"
	                  username="sa"
	                  password="dbsa"
	                  driverClassName="oracle.jdbc.driver.OracleDriver"
	                  url="jdbc:oracle:thin:@192.168.0.12:1521:test"/>
</Context>

 5.0的DataSource配置

<?xml version='1.0' encoding='utf-8'?>

<Context docBase="E:\Work\AnsonSolder\WebRoot" path="/anson" reloadable="true" debug="0">

	<Resource name="jdbc/AnsonSolderDB"
			  auth="Container"
			  type="javax.sql.DataSource">
	</Resource>
	<ResourceParamters>
		<Parameter>
			<name>maxActive</name>
			<value>100</value>
		</Parameter>
		<Parameter>
			<name>maxIdle</name>
			<value>30</value>
		</Parameter>
		<Parameter>
			<name>maxWait</name>
			<value>10000</value>
		</Parameter>
		<Parameter>
			<name>username</name>
			<value>sa</value>
		</Parameter>
		<Parameter>
			<name>password</name>
			<value>dbsa</value>
		</Parameter>
		<Parameter>
			<name>driverClassName</name>
			<value>oracle.jdbc.driver.OracleDriver</value>
		</Parameter>
		<Parameter>
			<name>url</name>
			<value>jdbc:oracle:thin:@192.168.0.12:1521:test</value>
		</Parameter>
	</ResourceParameters>

</Context>

 Java可以通过一下代码获得DataSource

import java.sql.*;
import java.io.*;
import java.util.*;
import java.util.Date;
import javax.naming.InitialContext;
import javax.sql.*;

public class DBConnectionManager {
    private PrintWriter log;

    private InitialContext context;
    private DataSource myDS;

    /**
    * A private constructor since this is a Singleton
    */
    public DBConnectionManager() {
        init();
    }

    /**
    * Returns a connection to the named pool.
    *
    * @param name The pool name as defined in the properties file
    * @param con The Connection
    */
    public synchronized void freeDBConnection(String name, DBConnection dbcon) {
        try {
            dbcon.close();
        }
        catch (Exception e) {
            log(e, e.toString());
        }
    }

    /**
    * Returns an open connection. If no one is available, and the max
    * number of connections has not been reached, a new connection is
    * created.
    *
    * @param name The pool name as defined in the properties file
    * @return Connection The connection or null
    */

    public synchronized DBConnection getDBConnection(String name) {
        try {
            return new DBConnection(myDS.getConnection());
        }
        catch (Exception e) {
            log(e, e.toString());
        }
        return null;
    }


    /**
    * Loads properties and initializes the instance with its values.
    */
    private void init() {
        InputStream is = getClass().getResourceAsStream("/db.properties");
        Properties dbProps = new Properties();
        try {
            dbProps.load(is);
        }
        catch (Exception e) {
            System.err.println("Can't read the properties file. " +
            "Make sure db.properties is in the CLASSPATH");
            return;
        }
        String logFile = dbProps.getProperty("logfile", "DBConnectionManager.log");
        try {
            log = new PrintWriter(new FileWriter(logFile, true), true);
        }
       catch (IOException e) {
            System.err.println("Can't open the log file: " + logFile);
            log = new PrintWriter(System.err);
        }

        String datasource = dbProps.getProperty("datasource", "jdbc/OracleCoreDS_ejms");
        try {
            context = new InitialContext();
            myDS = (DataSource) context.lookup(datasource);
        }
        catch (Exception e) {
            log(e, e.toString());
        }
    }

    /**
    * Writes a message to the log file.
    */
    private void log(String msg) {
        log.println(new Date() + ": " + msg);
    }

    /**
    * Writes a message with an Exception to the log file.
    */
    private void log(Throwable e, String msg) {
        log.println(new Date() + ": " + msg);
        e.printStackTrace(log);
    }
}

 db.properties

datasource=java:env/comp/jdbc/AnsonSolderDB

 

分享到:
评论

相关推荐

    配置datasource

    为了使Tomcat能够识别和加载数据库驱动,需要将数据库驱动程序(如Oracle的三个驱动文件)以及数据源的两个配置文件拷贝到Tomcat的`common/lib`目录下。这一步是数据源配置的核心部分,因为正确的驱动程序和配置文件...

    Tomcat服务器配置及数据库连接池配置(个人整理版)

    ### Tomcat服务器配置及数据库连接池配置详解 #### 一、Tomcat服务器配置与环境搭建 ##### 1. JDK安装与配置 - **系统环境**:Windows 2003 Server SP3。 - **JDK路径设置**: - `JAVA_HOME` 设置为 `C:\JDK`。 ...

    为Tomcat6配置数据源

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

    db+Tomcat DataSource

    5. **在Tomcat中配置JDBC DataSource**: 配置DataSource是在Tomcat服务器的配置文件`server.xml`或项目级的`web.xml`中进行的。通常会定义一个名为`resource-ref`的元素,包含描述、资源名称、数据源类名等信息,来...

    tomcat常用配置信息详解

    【正文】 ...以上只是Tomcat配置中的一部分内容,实际使用中还需要根据具体需求进行细致的调整和优化。通过深入理解和熟练应用这些配置,可以有效地管理和优化Tomcat服务器,提升Web应用的稳定性和性能。

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

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

    tomcat6.0配置心得

    Tomcat 6.0 配置心得 Tomcat 6.0 是一个功能强大且性能高效的 Web 服务器,它相比 Tomcat 4.0 有了许多改进和增强。然而,在使用 Tomcat 6.0 时,我们可能会遇到一些问题,如连接池配置、中文问题、中文文件名问题...

    weblogic项目移植到tomcat,配置说明

    WebLogic 项目移植到 Tomcat 配置说明 在进行 WebLogic 项目移植到 Tomcat 之前,需要确保已经成功安装了 Tomcat。下面将对 WebLogic 项目移植到 Tomcat 的配置进行详细说明。 配置 Tomcat 1. 在 Tomcat 安装目录...

    Websphere服务器中配置DataSource

    在本文中,我们将探讨如何在不同的服务器环境中配置Data Source,包括IBM Websphere 6.1与MySQL以及DB2数据库的集成。Data Source是J2EE应用服务器中用于管理数据库连接的重要组件,它允许应用程序通过JDBC(Java ...

    tomcat配置教程,数据源配置,基础教程,tomcat下conf文件夹配置教程

    本教程将深入探讨Tomcat的配置,特别是数据源配置以及基础的Tomcat配置,帮助你更好地理解和管理服务器环境。 一、Tomcat配置基础 1. **环境变量设置**:首先,确保你的系统中安装了Java,并设置了JAVA_HOME环境...

    tomcat配置sql数据库

    ### Tomcat配置SQL Server数据库详解 #### 一、前言 在Java Web开发过程中,Tomcat作为一款轻量级的应用服务器被广泛使用。而在实际项目中,常常需要将Tomcat与数据库进行集成,以实现对数据的操作。本文将详细...

    tomcat6.0 配置jndi

    总的来说,配置Tomcat6.0的JNDI主要涉及到服务器端的全局资源定义和应用程序内部的资源引用,以及Spring框架如何利用JNDI查找和管理数据源。通过这样的配置,我们可以实现数据库连接的集中管理和优化,提升应用的...

    Tomcat6配置连接池

    ### Tomcat6配置连接池详解 #### 一、引言 在Java Web开发中,数据库连接池技术的应用极为广泛。合理的数据库连接管理不仅能提高应用程序的性能,还能有效避免因频繁创建销毁连接所导致的资源浪费问题。Apache ...

    tomcat5.0和tomcat5.5.12配置连接池的异同

    描述中提到"讲述tomcat5.0和tomcat5.5.12配置连接池(JNDI)的不同配置方法",意味着我们将探讨如何在每个版本的Tomcat中配置JNDI资源,以及这两个版本之间在配置过程中的具体变化。 **Tomcat连接池基础知识** 在...

    tomcat中配置数据源

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

    tomcat10种配置技巧

    【Tomcat配置技巧详解】 Tomcat作为一款广泛使用的开源Servlet和JSP容器,因其免费、跨平台和高效性而备受开发者喜爱。以下是十个关键的Tomcat配置技巧,旨在帮助初级学习者更好地理解和优化Tomcat的运行环境。 1....

    tomcat6.0 数据源配置

    - **Tomcat配置文档**:`tomcat配置.doc`可能包含了更详细的Tomcat配置信息,如虚拟主机设置、session配置、错误页面处理等,这些都是运行和管理Tomcat服务器时需要了解的关键知识点。 总之,理解并正确配置Tomcat...

    tomcat下配置数据源附xml文件

    这里我们将深入探讨如何在Tomcat中配置数据源,并提供一个XML配置文件的示例。 首先,我们需要了解数据源是什么。在Java术语中,数据源(DataSource)是一个接口,它提供与数据库连接的管理。Java Naming and ...

    Tomcat连接池的配置

    本文将详细介绍如何配置Tomcat的连接池,即Catalina自带的`Apache Commons DBCP2`或`Apache Tomcat JDBC Pool`。 **一、Tomcat连接池的引入** Tomcat默认并未开启连接池,我们需要手动配置。首先,在Tomcat的`conf...

    tomcat JDNI配置

    一个简单的tomcat6.0+mysql5.5整合spring3.0和hibernate3.3的一个简单的实例,其中的datasource是tomcat JNDI配置的 type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://...

Global site tag (gtag.js) - Google Analytics