设置weblogic连接池:pool的配置:
假设已配置服务:expserv
且数据库服务器机器名为:expserv
数据库sid:expservSID,用户名和密码都为:expserv
以weblogic7.0为例,首先启动服务
http://localhost:port/console
打开service\jdbc\connection pools
配置oraclePool如下:
Configuration:
   Name: oraclePool 
   URL: jdbc:oracle:thin:@expserv:1521:expservSID
   Driver Classname: oracle.jdbc.driver.OracleDriver  
   Properties(key=value): user=expserv
Targets:
   Targets-Server:expserv
在weblogic7.0中除了数据库密码,其他的pool参数都可以在config.xml中直接用文本编辑器直接修改。

解决方案 »

  1.   

    http://expert.csdn.net/Expert/topic/1357/1357306.xml?temp=.231106
      

  2.   

    http://www.chinabs.net/Servlet/default.asp?infoid=12
    有详细代码说明-------------------------------------------------------------------
    我的签名:我做了两天斑竹就被撤了,为什么????
      

  3.   

    看看这个,自己要有自己的思路,理顺就可以了。package com.jewes;
    import java.io.*;
    import java.sql.*;
    import java.util.*;
    import java.util.Date;//建立DBConnectionManager
    public class DBConnectionManager
    {static private DBConnectionManager instance;
     static private int clients; private Vector drivers=new Vector();
     private PrintWriter log;
     private Hashtable pools=new Hashtable(); //返回唯一的实列
     static synchronized public DBConnectionManager getInstance()
    {if(instance==null)
    {instance=new DBConnectionManager();
      }
         clients++;
     return instance;
    }
     
     //构造函数!
     private DBConnectionManager()
    {init();
    }
     //结束构造函数
     //释放一个连接
     public void freeConnection(String name,Connection con)
    {DBConnectionPool pool=(DBConnectionPool)pools.get(name);
          if(pool!=null)
    {pool.freeConnection(con);
        }
    }
    //结束释放一个连接//取得一个连接
     public Connection getConnection(String name)
    {DBConnectionPool pool=(DBConnectionPool)pools.get(name);
           if(pool!=null)
    {return pool.getConnection();
    }
          return null;
    }public Connection getConnection(String name,long time)
    {DBConnectionPool pool=(DBConnectionPool)pools.get(name);
         if(pool!=null)
            {return pool.getConnection(time);
    }
          return null;
    }
    //结束getconnection 
    //关闭所有连接
    public synchronized void release()
    {
         {if(--clients!=0)
       return;
     }
    Enumeration allPools=pools.elements();
    while(allPools.hasMoreElements())
    {DBConnectionPool pool=(DBConnectionPool)allPools.nextElement();
         pool.release();
        }
    Enumeration allDrivers=drivers.elements();
    while(allDrivers.hasMoreElements())
    {Driver driver=(Driver)allDrivers.nextElement();
         try
    {DriverManager.deregisterDriver(driver);
         log("撤消JDBC驱动程序"+driver.getClass().getName());
    }
         catch(SQLException e)
    {log(e,"无法撤消JDBC驱动程序的注册"+driver.getClass().getName());
    }
    }
    }
    private void createPools(Properties props)
    {Enumeration propNames=props.propertyNames();
     while(propNames.hasMoreElements())
    {String name=(String) propNames.nextElement();
         if(name.endsWith(".url"))
    {String poolName=name.substring(0,name.lastIndexOf("."));
         String url=props.getProperty(poolName+".url");
     if(url==null)
    {log("没有连接池"+poolName+"指定的URL");
         continue;
    }
                  String user=props.getProperty(poolName+".user");
      String password=props.getProperty(poolName+".password");
                  String maxconn= props.getProperty(poolName+".maxconn","0");
      int max;
      try
    {max=Integer.valueOf(maxconn).intValue();
    }
                  catch(NumberFormatException e)
    {log("错误的最大连接数:"+maxconn+".连接池"+poolName);
         max=0;
    }
             DBConnectionPool pool=new DBConnectionPool(poolName,url,user,password,max);
     pools.put(poolName,pool);
     log("成功创建连接池"+poolName);
    }
    }
    }private void init()
    {InputStream is=getClass().getResourceAsStream("/db.properties");
         Properties dbProps=new Properties();
     try
    {dbProps.load(is);
        }
         catch(Exception e)
    {System.err.println("不能读取属性文件。请确保db.properties在你的CLASSPATH中");
         return;
    }
         String logFile=dbProps.getProperty("logfile","DBConnectionManager.log");
     try
    {log=new PrintWriter(new FileWriter(logFile,true),true);
    }
         catch(IOException e)
    {System.err.println("无法打开日志文件:"+logFile);
         log=new PrintWriter(System.err);
    }
         loadDriver(dbProps);
     createPools(dbProps);
    }private void loadDriver(Properties props)
    {String driverClasses=props.getProperty("drivers");
     StringTokenizer st=new StringTokenizer(driverClasses);
      while(st.hasMoreElements())
    {String driverClassName=st.nextToken().trim();
           try
    {Driver driver=(Driver)Class.forName(driverClassName).newInstance();
         DriverManager.registerDriver(driver);
     drivers.addElement(driver);
     log("成功注册驱动程序"+driverClassName);
    }
    catch(Exception e)
    {log("无法注册驱动程序:"+driverClassName+",错误"+e);
    }
    }
    }private void log(String msg)
    {log.println(new Date()+":"+msg);
        }
    private void log(Throwable e,String msg)
    {log.println(new Date()+":"+msg);
     e.printStackTrace(log);
    }
    class DBConnectionPool
    {private int checkOut;
     private Vector freeConnections=new Vector();
         private int maxconn;
     private String name;
     private String password;
     private String URL;
     private String user;
     
         public DBConnectionPool(String name,String URL,String user,String password,int maxconn)
    {this.name=name;
         this.URL=URL;
     this.password=password;
       this.user=user;
     this.maxconn=maxconn;
        }
          public synchronized void freeConnection(Connection con)
    {freeConnections.addElement(con);
         checkOut--;
     notifyAll();
    }
         public synchronized Connection getConnection()
    {Connection con=null;
            if(freeConnections.size()>0)
    {con=(Connection)freeConnections.firstElement();
     freeConnections.removeElementAt(0);
     try
    {if(con.isClosed())
    {log("从连接池"+name+"删除一个连接");
             con=getConnection();
    }
    }
                 catch(SQLException e)
    {log("从连接池"+name+"删除一个连接");
    con=getConnection();
    }
    }
    else if(maxconn==0||checkOut<maxconn)
    {con=newConnection();
    }
    if(con!=null)
    {checkOut++;
    }
    return con;
    }       public synchronized Connection getConnection(long timeout)
    {long startTime=new Date().getTime();
         Connection con;
     while((con=getConnection())==null)
    { try
    {wait(timeout);
    }
    catch(InterruptedException e)
    {}
             if((new Date().getTime()-startTime)>=timeout)
    {return null;
        }
    }
    return con;
    }
       public void release()
    {Enumeration allConnections=freeConnections.elements();
             while(allConnections.hasMoreElements())
    {Connection con=(Connection)allConnections.nextElement();
          try
    {con.close();
         log("关闭连接池"+name+"中的连接");
    }
      catch(SQLException e)
    {log(e,"无法关闭连接池"+name+"中的连接");
    }
    }
    freeConnections.removeAllElements();
    }
       private Connection newConnection()
    {Connection con=null;
             try
    {con=DriverManager.getConnection(URL,user,password);
        log("连接池"+name+"创建一个新的连接");
    }
             catch(SQLException e)
    {log(e,"无法创建下列URL的连接"+URL);
         return null;
        }
           return con;
    }
    }
    }