`
caiying0504
  • 浏览: 347180 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

SPRING+JNDI+C3P0 in tomcat6

阅读更多
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>

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>

3.与spring结合,代码如下

<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))))

注:不同的版本有不同的连接方式,tomcat5.5版本的连接方式参见
http://chenlb.blogjava.net/archive/2007/03/18/104571.html#
分享到:
评论

相关推荐

    tomcat6+jndi+c3p0配置数据库连接池

    本示例主要讲解如何在Tomcat6中结合JNDI(Java Naming and Directory Interface)和C3P0库来配置数据库连接池,这对于初学者理解Web应用服务器与数据库的交互方式具有很大帮助。 首先,C3P0是一个开源的JDBC连接池...

    springMVC+mybatis+Spring+C3P0+Oracle简单demo搭建下载部署就可以运行

    6. C3P0的配置也需在Spring配置文件中进行,包括数据源的初始化大小、最大连接数等。 7. 启动Tomcat服务器,访问应用的URL以查看应用是否正常运行。 通过这个简单的示例,你可以了解到如何将这些组件整合在一起,...

    Tomcat统一配置C3P0连接池

    【描述】中的XML配置片段展示了在Spring框架中配置一个通过JNDI查找的数据源,这正是Tomcat统一配置C3P0连接池的一个关键步骤。`&lt;bean id="dataSource2" class="org.springframework.jndi.JndiObjectFactoryBean"&gt;`...

    JAVA数据库连接池(C3P0,Druid,JNDI ,DBCP,Proxool,BoneCP)

    例如,Tomcat、JBoss等应用服务器都支持JNDI配置C3P0、DBCP等连接池。 4. DBCP(Database Connection Pool): DBCP是Apache Commons的一个项目,基于Jakarta-pool实现的数据库连接池。它简单易用,但相比于C3P0和...

    spring 配置jndi

    - 为了提高性能,可以考虑使用连接池,如C3P0、HikariCP等。大多数应用服务器都支持将这些连接池作为JNDI数据源的实现。 总之,配置Spring中的JNDI数据源是实现灵活且可扩展的数据库连接管理的关键步骤。理解这一...

    c3p0数据库连接池

    - 相比于Tomcat JDBC Connection Pool,c3p0更适合小型项目,大型项目可能会倾向于选择更高效、更活跃维护的连接池。 7. **常见问题与解决方案** - 如果出现“Too many connections”错误,可能是因为`maxPool...

    C3p0配置连接池及jar

    C3p0是一款开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。在Java应用程序中,C3p0可以帮助我们管理数据库连接,提高数据库访问效率,减少系统资源的消耗。下面我们将详细探讨C3p0的...

    c3p0-0.9.2-pre1.rar

    在Web应用中,c3p0常与Servlet容器(如Tomcat)结合使用,通过容器的JNDI服务管理数据源。这样,多个应用组件可以共享同一个数据源,提高资源利用率。 **五、c3p0版本及更新** 在给定的压缩包文件`c3p0-0.9.2-pre1...

    SpringMVC+Spring+Mybatis所需jar包

    6. **C3P0数据源**: C3P0 是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。C3P0提供了一套完善的连接池管理策略,如连接池的初始化、测试、回收等,提高了数据库操作的性能和...

    dhcp-c3p0-jar包.7z

    C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。 JDBC(Java Database Connectivity)是Java语言中用来规范客户端程序如何访问数据库的应用程序接口,提供了诸如查询和...

    SSH + AJAX + TOMCAT + MYSQL + 新手上路 + 详细图文 LIB 1

    2. **c3p0-0.9.1.jar**:C3P0是一个JDBC连接池,提供数据库连接的管理和优化。 3. **commons-**系列库:Apache Commons是包含各种实用工具类的项目,如collections、beanutils和digester,它们简化了Java开发中的...

    数据库连接池的jar包,DataSourceFactory文件以及配置文件

    spring.datasource.c3p0.jdbc-url=jdbc:mysql://localhost:3306/mydb spring.datasource.c3p0.username=myuser spring.datasource.c3p0.password=mypassword ``` 然后在Spring的配置类中,我们可以注入DataSource并...

    tomcat连接池mysql多种配置

    C3P0是一款开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。以下是配置C3P0连接池的步骤: 1. 添加依赖:在项目的pom.xml文件中添加C3P0的Maven依赖。 2. 创建配置文件:在Tomcat的...

    Spring数据源配置

    C3P0 类包位于 `&lt;spring_home&gt;/lib/c3p0-0.9.x.jar`,C3P0 是一个开源的 JDBC 连接池,它实现了数据源和 JNDI 绑定,支持 JDBC3 规范和 JDBC2 的标准扩展。下面是如何使用 C3P0 配置数据源的示例: xml 代码 Xml ...

    tomcat与mysql连接池

    最后,对于大型应用,考虑监控连接池的性能和状态,可以使用像Spring Boot Actuator这样的工具,或者直接通过C3P0提供的监控端点进行监控。 在实际开发中,确保正确配置连接池参数以适应应用的负载需求,避免资源...

    DBPoolDemo:jdbc 池,包含 C3P0、DBCP、Proxool、Druid、tomcat-jdbc

    C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。C3P0的特点包括自动检测并修复损坏的连接、支持多线程的公平分配以及连接池的细粒度控制。其优点是功能全面,但缺点在于...

    java数据库连接方法.pdf

    在Spring框架中,可以使用`c3p0`或`dbcp`作为数据源,通过`Bean`配置或者Java配置来设定这些参数。 总结来说,Java通过JDBC和数据库连接池提供了高效、灵活的数据库访问方式。在实际应用中,选择合适的连接池可以...

    apache-tomcat-6.0.26

    - 使用连接池(如C3P0或Apache DBCP)优化数据库访问性能。 - 缓存JSP编译结果以减少编译开销。 7. **故障排查**: - 查看日志文件定位问题。 - 使用`jstack`和`jmap`等JDK工具分析Tomcat进程状态。 - 使用...

Global site tag (gtag.js) - Google Analytics