我现在需要在tomcat下配置一个连接池
1、在%tomcat_home%/conf/server.xml中添加<GlobalNamingResources>
     <Resource name="jdbc/messenger" auth="Container"
            type="javax.sql.DataSource"/>
            
  <ResourceParams name="jdbc/messenger">
   <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.21.167:1521:orcl</value>
   </parameter>
   <parameter>
    <name>username</name>
    <value>messenger</value>
   </parameter>
   <parameter>
    <name>password</name>
    <value>bdmt</value>
   </parameter>
   
   <parameter>
     <name>maxActive</name>
     <value>100</value>
   </parameter>
   
   <parameter>
     <name>maxIdle</name>
     <value>30</value>
   </parameter>
   
   <parameter>
     <name>maxWait</name>
     <value>10000</value>
   </parameter>
  </ResourceParams>
           
  </GlobalNamingResources>2、在我的工程的web.xml中添加        <resource-ref>
<description>Oracle DateSource</description>
<res-ref-name>jdbc/messenger</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>3、把Oracle的Driver jar包放到%tomcat_home%/lib下。
4、在Spring 配置文件中添加        <bean id="dataSource"
class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:/comp/env/jdbc/messenger" />
</bean>
然后启动。 可是老是报错:SQL Exception
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1150)
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
at org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider.getConnection(LocalDataSourceConnectionProvider.java:81)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:84)
.....
请问各位大虾, 这是为什么?

解决方案 »

  1.   

    看看这个
    http://www.java2000.net/p1906
      

  2.   

    问题解决,  问题在于没有在tomcat\conf\context.xml的Context中增加:
       <ResourceLink global="jdbc/mydb" name="jdbc/mydb" type="javax.sql.DataSource"/> 
      

  3.   

    直接在context.xml里面配置就行啦嘛,麻烦,o(∩_∩)o...哈哈
      

  4.   

    context.xml里面增加
    <Resource
        name="jdbc/mydb"
        type="javax.sql.DataSource"

        password="myb"
        driverClassName="oracle.jdbc.driver.OracleDriver"
        maxIdle="2"
        maxWait="5000"
        username="myb"
        url="jdbc:oracle:thin:@localhost:1521:myb"
        maxActive="4"/>