再tomcat里配置连接池,设定好JNDI名,
然后再程序里
InitialContext ic = new InitialContext();
DataSource ds = (DataSource)ic.lookup("java:comp/env/jndi名");

解决方案 »

  1.   

    tomcat设定server.xmlxxx根据你的情况自己写的。<Context debug="0" docBase="xxx" path="/xxx" reloadable="true" workDir="xxx">
    <Resource name="jdbc/xxx" auth="Container" type="javax.sql.DataSource"/>
       <ResourceParams name="jdbc/xxx">
         <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:@192.168.38.1:1521:ddd</value>
         </parameter>
         <parameter>
           <name>username</name>
           <value>username</value>
         </parameter>
         <parameter>
           <name>password</name>
           <value>password</value>
         </parameter>
         <parameter>
           <name>maxActive</name>
           <value>20</value>
         </parameter>
         <parameter>
           <name>maxIdle</name>
           <value>10</value>
         </parameter>
       </ResourceParams>
    </Context>
      

  2.   

    用oracle自带的连接池开发工具写的:
    package my; import java.sql.*; 
    import java.io.*; 
    import javax.sql.*;
    import javax.naming.*; 
    import oracle.jdbc.pool.*; 
    import oracle.jdbc.pool.OracleConnectionCacheImpl;public class oraConPool{

    private OracleConnectionCacheImpl occi; 
    private String userId;
    private String passWord;

    public oraConPool(){}

    public void init(String userId,String passWord){
    try{
    OracleConnectionPoolDataSource ocpds = new OracleConnectionPoolDataSource();
    ocpds.setDriverType("oracle.jdbc.driver.OracleDriver");
    ocpds.setURL("jdbc:oracle:thin:@localhost:1521:keqiao");
    ocpds.setUser(userId);
    ocpds.setPassword(passWord);
    occi=new OracleConnectionCacheImpl(ocpds);
    occi.setMinLimit (10);
                occi.setMaxLimit (50);
    occi.setCacheScheme(OracleConnectionCacheImpl.FIXED_RETURN_NULL_SCHEME);
    }catch(Exception ex){
    System.err.println("Error in PooledSQL-construct : ");     
    ex.printStackTrace(System.err); 
    }
    }

    public void setUserId(String userId){
    this.userId=userId;
    }

    public void setPassWord(String passWord){
    this.passWord=passWord;
    }

    synchronized Connection getConnection()throws SQLException{
    Connection con=this.occi.getConnection();
    //System.out.println(occi.getActiveSize());
    //System.out.println(occi.getCacheSize());
    return con;
    }
    }在网上看人家写的,然后自己改了一点。
      

  3.   

    to : VVV_lucky(*太阳*) 用tomcat配置的时候,为什么我按你说得改了,tomcat就不能正常启动了