Tomcat 中Jndi是使用Tomcat自带的连接池,由于客户要求,抛弃Tomcat自带的连接池。使用c3p0
。经过几个小时调试,解决方案如下:
环境:Tomcat 6
下面来看Jndi 与 c3p0 结合:
下载地址:http://nchc.dl.sourceforge.net/sourceforge/
c3p0/c3p0c3p0-0.9.0.4.bin.zip
或者见附件
把 c3p0-0.9.0.4.jar
放到应用服务的%tomcat6%/lib目录下。如:
1.在context.xml中<Context></Context>内加<Resource />,完整的示例:
-
<?xml version=
'1.0'
encoding=
'utf-8'
?>
-
<Context>
-
-
<WatchedResource>WEB-INF/web.xml</WatchedResource>
-
<!-- 下面注释部分为使用jndi+tomcat自带的连接池-->
-
<!--<Resource name="jdbc/ctitc"
type=
"javax.sql.DataSource"
-
username="business"
password=
"ctitc"
driverClassName=
"oracle.jdbc.driver.OracleDriver"
url=
"jdbc:oracle:thin:@127.0.0.1:1521:FJTDC"
-
maxIdle="30"
maxWait=
"5000"
maxActive=
"100"
/>
-
-->
-
<!-- 下面注释部分为使用jndi+c3p0-->
-
<Resource name="jdbc/ctitc"
-
type="com.mchange.v2.c3p0.ComboPooledDataSource"
-
maxPoolSize="50"
minPoolSize=
"2"
acquireIncrement=
"2"
-
factory="org.apache.naming.factory.BeanFactory"
-
user="user"
password=
""
-
driverClass="oracle.jdbc.driver.OracleDriver"
-
jdbcUrl="jdbc:oracle:thin:@127.0.0.1:1521:ORCL"
-
/>
-
-
</Context>
<?xml version='1.0' encoding='utf-8'?>
<Context>
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<!-- 下面注释部分为使用jndi+tomcat自带的连接池-->
<!--<Resource name="jdbc/ctitc" type="javax.sql.DataSource"
username="business" password="ctitc" driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@127.0.0.1:1521:FJTDC"
maxIdle="30" maxWait="5000" maxActive="100"/>
-->
<!-- 下面注释部分为使用jndi+c3p0-->
<Resource name="jdbc/ctitc"
type="com.mchange.v2.c3p0.ComboPooledDataSource"
maxPoolSize="50" minPoolSize="2" acquireIncrement="2"
factory="org.apache.naming.factory.BeanFactory"
user="user" password=""
driverClass="oracle.jdbc.driver.OracleDriver"
jdbcUrl="jdbc:oracle:thin:@127.0.0.1:1521:ORCL"
/>
</Context>
2.在web.xml添加:
-
<resource-ref>
-
<description>DB Connection</description>
-
<res-ref-name>jdbc/ctitc</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/ctitc</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
3.与spring结合,代码如下
-
<bean id=
"dataSource"
class
=
"org.springframework.jndi.JndiObjectFactoryBean"
>
-
<property name="jndiName"
value=
"java:comp/env/jdbc/ctitc"
/>
-
</bean>
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/jdbc/ctitc"/>
</bean>
4.使用oracle数据库的rac插件时url地址的写法
两台小机没做os集群,只做了oracle
RAC,A机虚拟ip为192.168.30.51,标识符为kms1;B机虚拟ip为192.168.30.52,标识符为kms2。关键的连接字符串如下:
url=jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST =
192.168.30.51)(PORT = 1521))(ADDRESS = (PROTOCOL = TCP)(HOST =
192.168.30.52)(PORT = 1521))(LOAD_BALANCE = yes)(FAILOVER = yes)(CONNECT_DATA
=(SERVER = DEDICATED)(SERVICE_NAME = kms)(FAILOVER_MODE=(TYPE = SELECT)(METHOD =
BASIC)(RETIRES = 20)(DELAY = 15))))
分享到:
相关推荐
Tomcat 连接池配置详解 Tomcat 连接池配置是 Web 应用程序中一个非常重要的组件,它负责管理和维护数据库连接,确保数据访问的高速和安全性。本文将详细介绍 Tomcat 连接池配置的步骤和原理,帮助读者快速掌握 ...
Tomcat 连接池和阿里 Druid 连接池的配置和比较 Tomcat 连接池是一种基于 Java 的数据库连接池实现,提供了高效、可靠的数据库连接管理。阿里 Druid 连接池是阿里巴巴开发的开源连接池,提供了高性能、可靠的数据库...
本文将详细探讨Tomcat连接池的配置,包括其原理、配置步骤以及优化策略。 一、连接池原理 连接池是一种资源管理技术,用于存储数据库连接。它预先创建一定数量的数据库连接,当应用程序需要时可以从池中获取,使用...
**一、Tomcat连接池的引入** Tomcat默认并未开启连接池,我们需要手动配置。首先,在Tomcat的`conf`目录下找到`context.xml`文件,这里是我们配置全局资源的地方。添加以下代码来定义一个名为`myDB`的连接池: ```...
本篇文章将深入探讨如何在Tomcat中配置数据连接池。 首先,我们要了解数据连接池的工作原理。数据连接池在初始化时会创建一定数量的数据库连接并存储在池中,当应用需要连接数据库时,可以从池中获取已存在的连接,...
本篇文章将详细探讨如何在Java Web项目中配置Tomcat连接池以及涉及的相关知识点。 首先,我们需要了解什么是连接池。连接池是一种在应用程序启动时预先创建并维护一定数量的数据库连接的机制,当应用程序需要访问...
"连接池与Spring、Hibernate结合"这个主题涉及到的是如何有效地管理和复用数据库连接,以提高应用程序的效率和响应速度。这里我们将深入探讨连接池的概念,Spring框架中的数据源配置,以及Hibernate的集成,以及它们...
本篇文章将详细探讨在Spring环境下配置几种常用的数据库连接池,并提供配置属性的详尽解析和实例应用。 1. **HikariCP** HikariCP是目前非常流行的一款高性能连接池,以其轻量级、高效而受到广泛赞誉。在Spring中...
在Spring Boot中,常见的连接池有HikariCP、Druid和Tomcat JDBC等。配置多个连接池意味着可以根据不同的业务需求,为不同的数据源设置不同的连接池,例如,对于读写频繁的操作可以配置高性能的连接池,而对于低频...
Java Spring常用高性能连接池以及属性 * C3P0比较耗费资源,效率方面可能要低一点。 * DBCP在实践中存在BUG,在某些种情会产生很多空连接不能释放,Hibernate3.0已经放弃了对其的支持。 * Proxool的负面评价较少,...
本资源"tomcat连接池配置方法.rar"提供了一份详细的教程,帮助我们理解如何在Tomcat环境中设置和管理数据库连接池。下面,我们将深入探讨Tomcat连接池的相关知识点。 1. **连接池概念**:连接池是一种对象复用机制...
在Java Web开发中,Tomcat作为一款广泛应用的Servlet容器,其性能优化往往涉及到数据库连接池的配置。连接池是管理数据库连接的一种技术,它可以提高应用性能,减少数据库资源的浪费。本文将深入探讨如何在Tomcat中...
根据给定的文件信息,...### 二、Spring框架与Tomcat连接池整合 #### 2.1 使用JNDI访问数据源 在Spring配置文件中,可以通过JNDI(Java Naming and Directory Interface)来访问在Tomcat中定义的数据源: ```xml ...
本文将详细讲解如何在Tomcat服务器上配置数据库连接池,以及为何需要使用它。 首先,我们来理解“连接池”是什么。连接池,即Connection Pool,是一种管理数据库连接资源的技术。它允许程序在需要时从池中获取一个...
本篇将深入探讨如何在Tomcat 6中配置并使用MySQL的连接池。 首先,理解连接池的基本原理。数据库连接池是在应用启动时预创建一定数量的数据库连接,然后在应用程序需要时从池中获取连接,用完后归还给池,而不是...
配置Tomcat JDBC连接池,需要在项目的lib目录下放置对应的jar文件,然后在web.xml或Spring配置文件中配置数据源。主要的配置项有最大连接数、最小连接数、超时时间等。 六、Spring Boot集成连接池 在Spring Boot...
标题“hibernate连接池之tomcat6的配置”涉及到的是如何在Tomcat6服务器中配置Hibernate连接池,以便高效管理数据库连接。这通常是为了优化应用程序的性能和资源利用。以下将详细介绍相关知识点: 1. **Hibernate**...
这个连接池组件在Spring Boot框架中被广泛使用,以支持内嵌Tomcat服务器运行JDBC操作。本文将深入探讨`tomcat-jdbc-7.0.42.jar`这个库,包括其核心概念、配置、性能优化以及与Spring Boot的集成。 首先,Tomcat ...
本文将详细介绍"proxool+mysql+tomcat连接池所需jar包"的相关知识,以及如何在实际项目中配置和使用。 首先,我们要理解连接池的基本概念。数据库连接池是在应用服务器启动时预创建一定数量的数据库连接,然后在...
【描述】中的XML配置片段展示了在Spring框架中配置一个通过JNDI查找的数据源,这正是Tomcat统一配置C3P0连接池的一个关键步骤。`<bean id="dataSource2" class="org.springframework.jndi.JndiObjectFactoryBean">`...