我目前正在使用 Spring Batch 从 SQL 服务器导入数据。为了使数据源可配置,我需要“步进范围”数据源 bean。然而,这让我很担心。如果执行连接池的数据源 bean 是步骤范围的,那么它如何管理池中的连接,甚至使用它有什么好处。
我的数据源配置如下:
<bean id="dataSourceMssql" class="org.apache.tomcat.jdbc.pool.DataSource" scope="step">
<property name="driverClassName" value="${batch.mssql.driver}" />
<property name="username" value="${batch.mssql.user}" />
<property name="password" value="${batch.mssql.password}" />
<property name="removeAbandoned" value="true" />
<property name="removeAbandonedTimeout" value="3610" />
<property name="url"
value="${batch.mssql.connect}#{jobParameters['dburl']}:#{jobParameters['port']}/#{jobParameters['databaseName']}" />
</bean>
为什么它是步骤范围的?因为我需要检索 jobParameters 来配置数据源。
我想知道什么? 连接池还会发生吗?(也许豆类资源保持活力并被回收)
我很感激帮助。