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连接池的使用
Java Spring常用高性能连接池以及属性 * C3P0比较耗费资源,效率方面可能要低一点。 * DBCP在实践中存在BUG,在某些种情会产生很多空连接不能释放,Hibernate3.0已经放弃了对其的支持。 * Proxool的负面评价较少,...
常用四大连接池集合c3p0,dbcp,druid,HikariCP,内有四大连接池的使用方法,配置方法,以及它们之间的比较和介绍,和spring继承等配置方法。 c3p0 太古老,代码及其复杂,不利于维护。貌似都比它强。 dbcp 是 ...
c3p0配置数据库连接池、数据库连接池 已经测试通过,可以提供给新入门的朋友学习之用,如果是要结合spring就不用下载了,网上其他地方应该很多资料,简单修改一下,原理都是一样的。
java连接池的配置 里面有C3P0连接池在tomcat中的详细配置 Java反射机制总结,tomcat下配置数据库连接池DBCP、C3P0、Proxool 总结spring下配置dbcp,c3p0,proxool数据源链接池
计数查询报告 Tomcat JDBC 连接池的扩展报告 它有什么作用 ? CountQueryReport 计算两个定义... 在 Spring 环境中配置连接池以使用 CountQueryReport: ... <!-- Log queries --> < property name =
spring-boot-seckill分布式秒杀系统是一个用SpringBoot开发的从0到1构建的分布式秒杀系统,项目案例基本成型,逐步完善中。...3、应用服务优化:Nginx最佳配置、Tomcat连接池优化、数据库配置优化、数据库连接池优化。
<!-- 新的数据源 --> <bean id="dataSource2" class="org.springframework.jndi.JndiObjectFactoryBean"> <value>java:comp/env/jdbc/commonDB </bean>
9.spring-instrument-tomcat-4.1.1.RELEASE.jar Spring对tomcat连接池的集成 10. spring-jdbc-4.1.1.RELEASE.jar 对jdbc简单封装 11.spring-jms-4.1.1.RELEASE.jar 简单封装jms api接口 jms: Java消息服务(Java ...
spring-instrument-tomcat.jar:Spring对tomcat连接池的集成 spring-jms.jar:为简化jms api的使用而做的简单封装。 外部依赖spring-beans,spring-dao,JMS API。 spring-orm.jar:整合第三方的orm实现,如...
- 数据库连接池 - 数据库事务 3. Spring框架: - Spring Boot - Spring MVC - Spring Data - Spring Security - Spring Cloud 4. Web开发: - HTML、CSS、JavaScript - HTTP协议 - Servlet、JSP - ...
- 数据库连接池 - 数据库事务 3. Spring框架: - Spring Boot - Spring MVC - Spring Data - Spring Security - Spring Cloud 4. Web开发: - HTML、CSS、JavaScript - HTTP协议 - Servlet、JSP - ...
要与Apache Tomcat JDBC连接池一起使用(Spring Boot 1.x中的默认设置): spring: datasource: url: jdbc:mysql://dbhost.domain.com/dbname username: iam_username type: ...
JDBC规范 java.sql和javax.sql两个包中的类与接口(天龙八部): DataSource:数据源 DriverManager:驱动管理 Driver:JDBC驱动 ... JDBC数据库连接池/Connection Pool DBCP:apache tomcat内置
- 数据连接池:Druid - Web容器:Apache Tomcat - 项目管理工具:Maven - 版本控制工具:Git - 后端技术:Spring + SpringMVC + MyBatis(SSM) - 前端框架:LayUI 技术栈 - 数据库:MySQL - 开发工具:IDEA - 数据...
数据库连接池:Druid 实现一个住房公积金管理系统,主要包括相关客户信息(单位开户、个人开户、单位资料修改、个人资料修改)管理、业务查询(单位查询、个人查询)以及销户(个人销户、单位销户)等功能
[Database-support-package]-...[myDbPoolUse]C3P0连接池配置/DBCP连接池配置/Apache的DBUtils框架使用 [myFilterDemoWeb]过滤器Filter学习-设置全站编码与设置页面缓存 [myGzipWeb]全站压缩 [myJavaMainDemo]Java-Q
数据连接池:Druid Web容器:Apache Tomcat 项目管理工具:Maven 版本控制工具:Git 后端技术:Spring + SpringMVC + MyBatis(SSM) 前端框架:LayUI 基于SSM+Layui的图书管理系统 技术栈 数据库:MySQL 开发工具...
- 数据连接池:Druid - Web容器:Apache Tomcat - 项目管理工具:Maven - 版本控制工具:Git - 后端技术:Spring + SpringMVC + MyBatis(SSM) - 前端框架:LayUI## 技术栈 - 数据库:MySQL - 开发工具:IDEA - ...
- 数据库连接池 - 数据库事务 3. Spring框架: - Spring Boot - Spring MVC - Spring Data - Spring Security - Spring Cloud 4. Web开发: - HTML、CSS、JavaScript - HTTP协议 - Servlet、JSP - ...