我使用jtds使用MS SQL Server的Spring应用程序,如何找到数据源的所有参数? 现在我只有:
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="net.sourceforge.jtds.jdbc.Driver" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</bean>
我还要设置:timeout.login,timeout.connection,timeout.query和timeout.reconnect
答案 0 :(得分:2)
DriverManagerDataSource
不适合用作生产就绪DataSource
实施。它很适合测试或快速显示应用程序,但它应该/必须在那里结束。对于生产,您希望使用真正的DataSource
来进行连接池和许多其他事情。
而不是DriverManagerDataSource
您想要使用tomcat-jdbc或BoneCP之类的数据源。这些都将允许您设置各种选项。
如果您真的想继续使用DriverManagerDataSource
将属性传递到connectionProperties
元素。有关您可以设置的属性,请参阅here。
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="net.sourceforge.jtds.jdbc.Driver" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="connectionProperties">
<props>
<prop entry="socketTimeout">${timeout.connection}</prop>
<prop entry="loginTimeout">${timeout.login}</prop>
</props>
</property>
</bean>
由于DriverManagerDataSource
不是正确的连接池,我希望timeout.reconnect
的值无用。在事务开始时打开连接,并在事务提交后立即关闭。