当我使用带有Hibernate的Spring boot 1.5.2连接到数据源时问题很简单,配置如下:
@Bean
public DataSource dataSource() {
DataSourceBuilder = datasourceBuilder = DataSourceBuilder.create();
dataSourceBuilder.url(DATASOURCE_URL);
dataSourceBuilder.username(DATASOURCE_USERNAME);
dataSourceBuilder.password(DATASOURCE_PASSWORD);
return dataSourceBuilder.build();
}
这是一个命令行应用程序,因此当应用程序快完成时,我只想关闭与数据库的Hibernate连接并使用JDBC重命名数据库。但是,我不知道如何在Spring启动时这样做,任何想法?
我尝试将DataSource对象注入一个类来重命名数据库,但它无法关闭与数据库的连接。
@Autowired
private DataSource dataSource;
public void closeConnection() {
dataSource.close();
}
有错误
org.postgresql.util.PSQLException: ERROR: database "DATABASE" is being accessed by other users
Detail: There are 10 other sessions using the database.
答案 0 :(得分:1)
您可以使用pg_terminate_backend()来终止连接。您必须是超级用户才能使用此功能。这适用于所有操作系统。
参考此stackoverflow
链接: