How to kill Hibernates database connections in Spring boot 1.5.2?
当我使用Spring引导1.5.2与Hibernate连接到数据源时,问题很简单,配置如下:
1 2 3 4 5 6 7 8 | @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对象注入一个类来重命名数据库,但它无法关闭与数据库的连接。
1 2 3 4 5 6 | @Autowired private DataSource dataSource; public void closeConnection() { dataSource.close(); } |
有错误
1 2 | org.postgresql.util.PSQLException: ERROR: database"DATABASE" is being accessed by other users Detail: There are 10 other sessions using the database. |
您可以使用pg_terminate_backend()来终止连接。 您必须是超级用户才能使用此功能。 这适用于所有操作系统。
参考这个
https://stackoverflow.com/a/5109190/7801800