我正在使用postgresql,但在從數據庫中的表中獲取記錄時,我已經收到此異常FATAL: sorry, too many clients
。Postgres + JDBC模板太多客戶端已經例外
休耕是連接類:
<context:component-scan base-package="com.trinity" />
<context:property-placeholder location="classpath:/jdbc.properties" order="1" ignore-unresolvable="true"/>
<beans:bean id="dataSourcePOSTGRESQL" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<beans:property name="driverClassName" value="${pg_jdbc.driverClassName}" />
<beans:property name="url" value="${pg_jdbc.url}" />
<beans:property name="username" value="${pg_jdbc.username}" />
<beans:property name="password" value="${pg_jdbc.password}" />
</beans:bean>
jdbc.propertis
pg_jdbc.driverClassName=org.postgresql.Driver
pg_jdbc1.url1=jdbc:postgresql://localhost:5433/iotdb
pg_jdbc.username=postgres
[email protected]
DAO類:
public List<Map<String, Object>> getAllDevicesNames(Integer companyId) {
String sql = "select device_configuration_id,device_name,device_id from iot.device_configuration where company_id = ? ";
List<Map<String, Object>> queryForList = jdbcTemplate.queryForList(sql,new Object[]{companyId});
return queryForList;
}
您使用的是連接池嗎?你知道你有多少個開放的連接嗎? – chrylis
最有可能的是,你沒有關閉你的連接,但沒有看到你的連接代碼(s),我們不能肯定地說。 –
(注意,如果你使用Spring Boot,你可以跳過配置,它甚至會自動爲你配置連接池和JDBC模板。) – chrylis