当上下文被破坏时,Spring是否会关闭DataSource

时间:2016-05-30 12:52:05

标签: spring spring-batch spring-jdbc

我在Spring Batch中使用嵌入式DBCP1.3 DataSource。批处理打包在EAR中并部署在WAS7服务器中(但它不是AppClient)。使用Unix脚本安排作业。

数据源配置:

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="com.ibm.db2.jcc.DB2Driver"/>
    <property name="url" value="****"/>
    <property name="username" value="***"/>
    <property name="password" value="****"/>
    <property name="initialSize" value="5"/>
    <property name="maxActive" value="10"/>
    <property name="maxIdle" value="10"/>
    <property name="maxWait" value="10000"/>
    <property name="minEvictableIdleTimeMillis" value="30000"/>
    <property name="timeBetweenEvictionRunsMillis" value="5000"/>
    <property name="validationQuery" value="select 1 from sysibm.sysdummy1"/>
    <property name="testOnBorrow" value="true"/>
    <property name="testOnReturn" value="true"/>
    <property name="testWhileIdle" value="true"/>
</bean>

作业完成后,我通过调用 context.close()

在finally块中显式关闭 ClassPathXmlApplicationContext spring上下文

现在我的问题是,一旦作业完成,DataSource会自动关闭并释放为数据库创建的所有连接?

[编辑]: 运行应用程序调试模式后,我可以看到它关闭了DataSource

2016-05-31 11:00:56 DEBUG DisposableBeanAdapter:302 - Invoking destroy method 'close' on bean with name 'dataSource'

0 个答案:

没有答案
相关问题