以下是我的代码:
<?xml version="1.0" encoding="UTF-8"?>
<hostCon>
<dataSources>
<jdbc name="COLL_DB">
<description>Oracle Database</description>
<driver>oracle.jdbc.OracleDriver</driver>
<url>jdbc:oracle:thin:@//X.X.X.X:X/X</url>
<urlProperties>
<urlProperty>
<name>restrictGetTables</name>
<value>true</value>
</urlProperty>
</urlProperties>
<schema>CACS_TPR</schema>
<username>username</username>
<password>password</password>
</jdbc>
</dataSources>
</hostCon>
如何添加maxactive,maxidle等属性?我在网上完成的所有研究都显示了一些例子,但没有一个与我正在使用的语法完全相同,当我尝试它们时,这些例子都没有。
答案 0 :(得分:0)
在Tomcat中,您需要将其添加为新资源 请参阅使用UCP(通用连接池)作为数据源的示例 您可以更改工厂和类型以使用简单的OracleDataSource。
<Context docBase="UCPTomcat" path="/UCPTomcat"
reloadable="true" source="org.eclipse.jst.jee.server:UCPTomcat">
<Resource name="tomcat/UCPPool" auth="Container"
factory="oracle.ucp.jdbc.PoolDataSourceImpl" type="oracle.ucp.jdbc.PoolDataSource"
description="UCP Pool in Tomcat" connectionFactoryClassName="oracle.jdbc.pool.OracleDataSource"
minPoolSize="2" maxPoolSize="60" initialPoolSize="15" autoCommit="true"
user="scott" password="tiger" fastConnectionFailoverEnabled="true"
url="jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(HOST=localhost)(PORT=1521)(PROTOCOL=tcp))(CONNECT_DATA=(SERVICE_NAME=proddb) ))" />
<context-param>
<param-name>oracle.ucp.PlannedDrainingPeriod</param-name>
<param-value>30</param-value>
</context-param>
<listener>
<listener-class>servletUtils.SystemPropertiesHelper</listener-class>
</listener>
</Context>
答案 1 :(得分:0)
将其添加为资源后,可以从servlet调用此数据库资源,如下所示。
Context ctx = new InitialContext ();
Context envContext = (Context) ctx.lookup("java:/comp/env");
// Look up a data source
javax.sql.DataSource ds= (javax.sql.DataSource) envContext.lookup("tomcat/UCPPool");
OracleDataSource ods= (OracleDataSource)ds;