【发布时间】:2016-03-22 12:11:17
【问题描述】:
我一直在尝试配置使用 xml Spring 配置文件中声明的 postgresql 数据源建立的连接。
<bean id="myDataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="org.postgresql.Driver" />
<property name="url" value="jdbc:postgresql://localhost:5432/dbname" />
<property name="username" value="postgres" />
<property name="password" value="" />
<property name="socketTimeout" value="10"/>
</bean>
我知道,我不应该使用 spring 中的 DriverManagerDataSource 类(我们将很快转向 C3p0 或 DBCP),因为它不是真正的池。
我正在尝试设置 postgresql 连接的 socketTimeout 值(在此处描述 https://jdbc.postgresql.org/documentation/head/connect.html),但当然,“socketTimeout”不是数据源的属性,因此它不起作用。
是否可以通过数据源 xml 的配置来做到这一点?或者我应该在其他地方做吗?因为数据源管理连接我不认为我能做一个
props.setProperty("timeout",30);
Connection conn = DriverManager.getConnection(url, props);
我什至可以用 DriverManagerDataSource 做到这一点吗?我尝试搜索,但没有找到任何有用的东西,因为真正使用它的人并不多。
【问题讨论】:
-
这就是为什么有一个
connectionProperties属性需要一个Properties元素。只需添加它。
标签: java sql spring postgresql