不用JNDI? 那你让Spring管理好了。
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
  <property name="driverClassName">
    <value>com.microsoft.sqlserver.jdbc.SQLServerDriver</value>
  </property>
  <property name="url">
    <value>jdbc:sqlserver://localhost</value>
  </property>
  <property name="username">
    <value>demo</value>
  </property>
  <property name="password">
    <value>demo</value>
  </property>
  <property name="initialSize">
    <value>5</value>
  </property>
  <property name="maxActive">
    <value>50</value>
  </property>
  <property name="maxIdle">
    <value>20</value>
  </property>
  <property name="minIdle">
    <value>10</value>
  </property>
  <property name="maxWait">
    <value>5000</value>
  </property>
  <property name="validationQuery">
    <value>select getdate()</value>
  </property>
  <property name="timeBetweenEvictionRunsMillis">
    <value>5000</value>
  </property>
  <property name="numTestsPerEvictionRun">
    <value>10</value>
  </property>
  <property name="testOnBorrow">
    <value>true</value>
  </property>
  <property name="testWhileIdle">
    <value>true</value>
  </property>
</bean>

解决方案 »

  1.   

    invalid setter method
    org.springframework.jdbc.datasource.DriverManagerDataSource
    只有driverClassName、url、username、password、connectionProperties这5个属性可以设置。我用的是spring-framework-1.2.9你用的什么版本?
      

  2.   

    我用的是C3P0,在spring设置
    <bean id="dataSource"
    class="com.mchange.v2.c3p0.ComboPooledDataSource"
    destroy-method="close"> <property name="driverClass">
    <value>com.jnetdirect.jsql.JSQLDriver</value>
    </property> <property name="jdbcUrl">
    <value>jdbc:JSQLConnect://localhost/database=sa</value>
    </property> <property name="user">
    <value>sa</value>
    </property> <property name="password">
    <value>sa</value>
    </property> <property name="initialPoolSize">
    <value>10</value>
    </property>
    <property name="minPoolSize">
    <value>5</value>
    </property>
    <property name="maxPoolSize">
    <value>30</value>
    </property>
    <property name="acquireIncrement">
    <value>5</value>
    </property>
    <property name="maxIdleTime">
    <value>10</value>
    </property>
    <property name="maxStatements">
    <value>0</value>
    </property> </bean>
      

  3.   

    如果没有把ibatis和spring结合,ibatis自己好象也带了个连接池
      

  4.   

    ibatis确实有,但我只要spring的
      

  5.   

    找到了,用dbcp,C3P0在1.4里有问题
      

  6.   

    <bean id="datasource-CC"
    class="org.apache.commons.dbcp.BasicDataSource"
    destroy-method="close">
    <property name="driverClassName"
    value="oracle.jdbc.driver.OracleDriver" />
    <property name="url"
    value="url" />
    <property name="username" value="username" />
    <property name="password" value="password" />
    <!-- 给出一条简单的sql语句进行验证  -->
    <property name="validationQuery">
    <value>SELECT 1 from dual</value>
    </property>
    <!-- 在取出连接时进行有效验证 -->
    <property name="testOnBorrow">
    <value>true</value>
    </property>
    <!-- 在放回连接时进行有效验证 -->
    <property name="testOnReturn">
    <value>true</value>
    </property>
    <!-- 初始化连接 -->
    <property name="initialSize">
    <value>5</value>
    </property>
    <!-- 最大空闲连接 -->
    <property name="maxIdle">
    <value>20</value>
    </property>
    <!-- 最小空闲连接 -->
    <property name="minIdle">
    <value>5</value>
    </property>
    <!-- 最大连接数量 -->
    <property name="maxActive">
    <value>100</value>
    </property>
    <!-- 是否自动回收超时连接 -->
    <property name="removeAbandoned">
    <value>true</value>
    </property>
    <!-- 超时时间(以秒数为单位) -->
    <property name="removeAbandonedTimeout">
    <value>180</value>
    </property>
    <!-- 超时等待时间以毫秒为单位 -->
    <property name="maxWait">
    <value>5000</value>
    </property>
    </bean>