如何在 Spring boot 应用程序中使用禁用连接池?

Tra*_*ant 6 spring spring-boot

我在 Application.java 中创建一个像这样的数据源:

@Bean
@ConfigurationProperties("datasource")
public DataSource dataSource() {
    return DataSourceBuilder.create().build();
}
Run Code Online (Sandbox Code Playgroud)

但它返回一个带有池的托管数据源。由于我正在使用的数据库的特定类型,我想禁用池。

做到这一点最简单的方法是什么?

dun*_*nni 6

DataSourceBuilder一个名为 的方法type(Class),您可以在其中指定要用作 DataSource 实现的类。所以在你的情况下它可能看起来像这样:

@Bean
@ConfigurationProperties("datasource")
public DataSource dataSource() {
    return DataSourceBuilder.create().type(SimpleDriverDataSource.class).build();
}
Run Code Online (Sandbox Code Playgroud)

  • 我尝试了你的建议,但有一个例外: java.lang.IllegalArgumentException: Driver must not be null at org.springframework.util.Assert.notNull(Assert.java:193) ~[spring-core-5.0.7. RELEASE.jar:5.0.7.RELEASE]。我在 DataSourceBuilder 上设置 driverName。一些想法?谢谢 (5认同)