我的应用程序有多个JVM,每个JVM都需要连接到数据库,以便以5分钟的频率插入进程详细信息(如CPU使用率,内存统计信息)。
JVM的总数是40,所以我不能一直保持40个连接对数据库开放。我想创建连接然后在插入完成后销毁(插入不需要超过一秒)。
我的应用程序使用SPRING 3,所以我的问题是spring框架中有一些类,每次插入时都可以创建和销毁连接。
[查看了jdbcTemplate API,也是singleDatasource连接工厂,但不符合要求]
答案 0 :(得分:0)
数据库连接等资源的处理在Spring等框架中自动关闭。但是为了明确地做,你可以尝试
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
或手动关闭连接,如
了getDataSource()。的getConnection()。close()方法
答案 1 :(得分:0)
如果您只从每个JVM每五分钟写一次,则不必使用使用池。在这种情况下,DriverManagerDataSource
javadoc声明: Connection.close()调用只会关闭Connection ,同样适用于SimpleDriverDataSource
。因此,像往常一样简单地使用数据源,即在不使用时关闭它们将是好的。