文章
企业管理
作者:Pas Apicella
2011 年 4 月发布
以下方法文档介绍如何使用 Universal Connection Pool (UCP) 作为数据源实现在 Tomcat 6.0 内建立数据源。本演示假定已安装了以下软件:
以下假定您已在计算机上安装了 Tomcat 6.0。
<!-- Define the default virtual host Note: XML Schema validation will not work with Xerces 2.2. --> <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Context docBase="demods" path="/demods" reloadable="true"> &Resource name="jdbc/UCPPool" auth="Container" factory="oracle.ucp.jdbc.PoolDataSourceImpl" type="oracle.ucp.jdbc.PoolDataSource" description="Pas testing UCP Pool in Tomcat" connectionFactoryClassName="oracle.jdbc.pool.OracleDataSource" minPoolSize="2" maxPoolSize="5" inactiveConnectionTimeout="20" user="scott" password="tiger" url="jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP) (HOST=beast.au.oracle.com)(PORT=1523))(CONNECT_DATA= (SERVICE_NAME=linux11gr2)))" connectionPoolName="UCPPool" validateConnectionOnBorrow="true" sqlForValidateConnection="select 1 from DUAL" /> </Context> </Host>
<resource-ref> <res-ref-name>jdbc/UCPPool <res-type>javax.sql.DataSource <<res-auth>Container </resource-ref>
private DataSource getDataSource (String dataSourceLocation) throws NamingException
{
// Get a context for the JNDI look up
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 (dataSourceLocation);
return ds;
}
private Connection getConnection (DataSource ds) throws SQLException
{
Connection conn = null;
// Get a connection object
conn = ds.getConnection();
return conn;
}
此示例代码仅用于培训之目的,Oracle 并不提供支持。不过,代码已经过内部测试,并且其工作情况如本文所述。我们并不保证它能为您工作,因此您只有在自己的环境中进行测试之后才可以信赖此代码。
在使用之前,请仔细校对此示例代码!由于在文本编辑器、电子邮件程序包以及操作系统处理文本格式(空格、制表符和回车符)方面的差异,在您初次得到此示例代码时它可能并非处于可执行状态。请仔细检查示例代码以确保纠正此类错误。
8/06/2010 11:09:54 org.apache.catalina.core.AprLifecycleListener init INFO: Loaded APR based Apache Tomcat Native library 1.1.20. 8/06/2010 11:09:55 org.apache.catalina.core.AprLifecycleListener init INFO: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], ra ndom [true]. 8/06/2010 11:09:56 org.apache.coyote.http11.Http11AprProtocol init INFO: Initializing Coyote HTTP/1.1 on http-8080 8/06/2010 11:09:56 org.apache.coyote.ajp.AjpAprProtocol init INFO: Initializing Coyote AJP/1.3 on ajp-8009 8/06/2010 11:09:56 org.apache.catalina.startup.Catalina load INFO: Initialization processed in 2183 ms 8/06/2010 11:09:56 org.apache.catalina.core.StandardService start INFO: Starting service Catalina 8/06/2010 11:09:56 org.apache.catalina.core.StandardEngine start INFO: Starting Servlet Engine: Apache Tomcat/6.0.26 8/06/2010 11:09:57 org.apache.catalina.startup.HostConfig deployDescriptor INFO: Deploying configuration descriptor host-manager.xml 8/06/2010 11:09:57 org.apache.catalina.startup.HostConfig deployDescriptor INFO: Deploying configuration descriptor manager.xml 8/06/2010 11:09:57 org.apache.catalina.startup.HostConfig deployDirectory INFO: Deploying web application directory docs 8/06/2010 11:09:57 org.apache.catalina.startup.HostConfig deployDirectory INFO: Deploying web application directory examples 8/06/2010 11:09:57 org.apache.catalina.startup.HostConfig deployDirectory INFO: Deploying web application directory ROOT 8/06/2010 11:09:58 org.apache.coyote.http11.Http11AprProtocol start INFO: Starting Coyote HTTP/1.1 on http-8080 8/06/2010 11:09:58 org.apache.coyote.ajp.AjpAprProtocol start INFO: Starting Coyote AJP/1.3 on ajp-8009 8/06/2010 11:09:58 org.apache.catalina.startup.Catalina start INFO: Server startup in 1756 ms
http://<server>:<port>/demods


jconsole
