使用DBCP和连接参数配置Spring JNDI数据源

时间:2013-05-21 15:15:53

标签: spring-mvc jndi cloudbees apache-commons-dbcp

我正在使用Spring 3并尝试使用带有DBCP连接池的JNDI(命名)数据源。

我希望能够设置池参数,但我的

<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
</bean>

不支持必要的参数:

<!-- Connection Pool settings -->
<param name="maxActive" value="5" />
<param name="maxIdle" value="2" />
<param name="maxWait" value="10000" />
<param name="removeAbandoned" value="true" />
<param name="removeAbandonedTimeout" value="60" />
<param name="logAbandoned" value="true" />

<!-- Purge invalid connections -->
<param name="validationQuery" value="SELECT 1" />
<param name="testOnBorrow" value="true" />

我已经广泛搜索了这个,看起来预计容器(tomcat)应该为JNDI连接而不是应用程序设置这些类型的参数。

不幸的是在我的情况下(cloudbees)我无法控制tomcat。

我正在尝试甚至可能吗?

1 个答案:

答案 0 :(得分:0)

好的,我已经想出了如何做到这一点。作为参考,您需要使用Cloudbees SDK的绑定功能:

bees app:bind -a APP_ID -db DB_ID -as DATASOURCE_NAME maxActive=5 maxIdle=2 \
maxWait=10000 removeAbandoned=true removeAbandonedTimeout=60 logAbandoned=true \
validationQuery="SELECT 1" testOnBorrow=true