我们如何知道,如果Spring Boot应用程序正在使用连接池

时间:2019-01-21 10:18:07

标签: java spring postgresql spring-boot connection-pooling

我有一个Spring Boot应用程序,并且正在使用托管 Postgres作为后端。我对postgres没有任何管理员权限。

如果我在spring boot应用程序中什么也没提及,那是否意味着它使用了一些连接池?

我的spring boot application.yml如下所示

spring:
  profiles: prod
  datasource:
    driver-class-name: org.postgresql.Driver
    url: <<jdbc-url>>
    username: prddb
    password:
    tomcat:
      validation-interval: 30000
      test-on-borrow: true
      validation-query: SELECT 1

检查仪表板时,我的应用几乎使用了所有连接。

1 个答案:

答案 0 :(得分:0)

如果在pom.xml中添加了依赖项,则Spring Boot应该扫描并创建一个连接池,否则您可以在.properties文件中手动指定数据源,如下所示:

spring.datasource.type=org.apache.tomcat.jdbc.pool.DataSource

还要测试连接池,您可以创建一个简单的测试:

@RunWith(SpringRunner.class)
@SpringBootTest
public class ConnectionPoolTest {

@Autowired
private DataSource dataSource;

@Test
public void connectionPoolTest() {
    assertThat(dataSource.getClass().getName())
      .isEqualTo("org.apache.tomcat.jdbc.pool.DataSource");
 }
}