tomcat配置oracle连接池

来源:互联网 发布:java 只能用abstract 编辑:程序博客网 时间:2024/04/28 01:53

今天配置了一下tomcat的数据库线程池,真是麻烦,留下一片文章以便以后查询。

首先把oracle连接用的两个包class12.jar和nls_charset12.jar   copy到common/lib中。

然后,在conf文件夹中找到 server.xml .

编辑server.xml,并且找到 <host> </host>字段。

在中间添加

其中 Context path是指的应用的服务的名称 docBase是指物理路径 这里可以为空。

<!-- oracle -->
<Context path="/acessOracle" docBase="acessOracle"  debug="9" privileged="true" verbosity="4">
<!--Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_sync4j_log." suffix=".txt" timestamp="true" / -->
<Resource name="jdbc/oracle" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/oracle">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>oracle.jdbc.driver.OracleDriver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:oracle:thin:@ipaddress:port:sid</value>
</parameter>
<parameter>
<name>username</name>
<value>users</value>
</parameter>
<parameter>
<name>password</name>
<value>pwd</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>20</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>10</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>10000</value>
</parameter>
</ResourceParams>
</Context> 

完成后,建立一个web解决方案。

在web.xml中添加

 <resource-ref>
      <description>oracle Connection</description>
      <res-ref-name>jdbc/oracle</res-ref-name>
      <res-type>javax.sql.DataSource</res-type>
      <res-auth>Container</res-auth>
    </resource-ref>

其中 res-ref-name 要和server.xml中Resource name对应

建立一个Class.

import javax.naming.*;
import javax.sql.*;
import java.sql.*;

/**
 * @author Administrator
 *
 */
public class Test {

 public Test()
 {
  DataSource ds = null;
  try{
  Context initCtx = new InitialContext();
  
  ds = (DataSource)initCtx.lookup("java:comp/env/jdbc/oracle");
  if(ds!=null){
  
  
  Connection cn=ds.getConnection();
  System.out.println("Connection is OK!");
  if(cn!=null){
   System.out.println("cn is Ok!");
  Statement stmt = cn.createStatement();
  ResultSet rst = stmt.executeQuery("select * from test_user");
  System.out.println("<p>rst is Ok!" + rst.next());
  while(rst.next()){
   System.out.println("<P>id_CODE:" + rst.getString(1));
  }
  cn.close();
  }else{
   System.out.println("rst Fail!");
  }
  }
  else
   System.out.println("Fail!");
  }
  catch(Exception ne)
  {
   System. out.println(ne.getMessage());
  }

 }
}

就可以看到连接的情况了。 

尽情使用吧! proxool未必会比这个好 :) 怎么方便就怎么用

原创粉丝点击