oracle - Tomcat 连接池概念和 c3p0 连接池?

标签 oracle hibernate tomcat datasource c3p0

我有两个 Java Web 应用程序在 Tomcat (6.0) 下运行并使用 Tomcat 和 c3p0 连接池作为 Tomcat 数据源。如果我为两个不同的 Oracle 连接定义两个资源 (server.xml) 并使用 c3p0 作为连接池下面是我的应用程序使用的,我的问题是:

<Resource 
name="jdbc/OracleDB" 
auth="Container" 
type="com.mchange.v2.c3p0.ComboPooledDataSource"
driverClass="oracle.jdbc.OracleDriver"
factory="xxx"
jdbcUrl="jdbc:oracle:thin:@(DESCRIPTION= (LOAD_BALANCE=on)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=xxx) (PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=xxx)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=xxx)))"
maxPoolSize="10" 
minPoolSize="0" 
maxIdleTime="60" 
maxConnectionAge="600"
acquireIncrement="1"
user="xxx="
password="xxx=" />


<Resource name="jdbc/xxx2DB" 
auth="Container"
type="com.mchange.v2.c3p0.ComboPooledDataSource"
driverClass="oracle.jdbc.OracleDriver"  
factory="xxx"   
jdbcUrl="jdbc:oracle:thin:@xxx:1527:xxx"
maxPoolSize="10" 
minPoolSize="0" 
acquireIncrement="1"
maxIdleTime="60" 
maxConnectionAge="600"
user="xxx" 
password="xxx" 
/> 

Q1。 server.xml 中的以下是否意味着 Tomcat 中存在两个连接池 内存到两个不同的 Oracle 实例?

Q2。我是否必须指定任何配置属性(引用:http://www.mchange.com/projects/c3p0/index.html#configuration_properties),在我的例子中,我连接到一个 Oracle RAC 实例,另一个连接到单个 Oracle 实例。我应该考虑 企业环境中的任何其他配置属性?

第 3 季度。以下设置是否足够有效?

第 4 季度。如何启用 c3p0 日志记录(我目前只有 Tomcat 库中的 jar 和上述设置?

有什么建议吗?

提前致谢。

最佳答案

A1:是的。

A2:不确定我是否答对了问题,但您应该只指定那些默认值对您没有意义的连接属性。最好在单独的 c3p0.properties 文件中执行此操作,并指定哪个连接适用于哪个属性。回答“其他配置属性”问题需要了解您的环境的具体情况。我建议查看 idle_test_period 设置,因为这些设置通常有错误的默认值(确保这与数据库端的相关设置相匹配)。

A3:是的,这看起来不错。

A4:您需要在 c3p0.properties 中指定日志记录首选项,或者将它们动态定义为系统属性。引用this chapter of the c3p0 manual .

关于oracle - Tomcat 连接池概念和 c3p0 连接池?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8429028/

相关文章:

oracle - 是否可以使用 sql%rowcount 进行 SELECT?

sql - SQL 'where' 子句中条件的执行顺序

Java CDI 拦截器无法使用 WELD 运行 Web 应用程序

java - Hibernate 映射异常无法确定 : java. nio.file.Path 的类型

java - “Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1;”-使用@Scheduled方法调用删除时

tomcat - Tomcat 中的 Alfresco : OutOfMemory

mysql - Tomcat Netbeans 数据源无效 : "java. sql.SQLException:找不到适合 jdbc 的驱动程序

c# - 打开oracle连接时,连接对象为空

SQL 计数、非重复和分区

java - 使用 Set<RequestVO> 填充数据表