我有一个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
检查仪表板时,我的应用几乎使用了所有连接。
答案 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");
}
}