java配置连接池,在SpringBoot2中使用hikari和多个数据库

ldioqlga  于 2021-06-30  发布在  Java
关注(0)|答案(0)|浏览(275)

我使用的是springboot2,我连接了两个数据库(postgres和cassandra)。我也在用hikari。
我的问题是我需要独立地配置两个连接池。如果更改hikari maximumpoolsize,则该更改会影响两个数据库连接。我想为博士后提供10个游泳池连接,为Cassandra提供200个游泳池连接。
在cassandra数据源配置中,我有:

public class CassandraDataSourceConfig extends AbstractCassandraConfiguration {

    private final Environment env;

    public CassandraDataSourceConfig(Environment env) {
        this.env = env;
    }

    @Override
    protected String getKeyspaceName() {
        return env.getProperty("spring.cassandra-datasource.keyspace");
    }

    @Override
    @Bean
    public CassandraClusterFactoryBean cluster() {
        PoolingOptions poolingOptions = new PoolingOptions();
        poolingOptions
            .setConnectionsPerHost(HostDistance.LOCAL,  200, 250)
            .setConnectionsPerHost(HostDistance.REMOTE, 200, 250);

        final CassandraClusterFactoryBean cluster = new CassandraClusterFactoryBean();
        cluster.setContactPoints(env.getProperty("spring.cassandra-datasource.contact-points"));
        cluster.setPort(Integer.parseInt(env.getProperty("spring.cassandra-datasource.port")));
        cluster.setUsername(env.getProperty("spring.cassandra-datasource.username"));
        cluster.setPassword(env.getProperty("spring.cassandra-datasource.password"));
        cluster.setPoolingOptions(poolingOptions);
        cluster.setJmxReportingEnabled(false);        

        return cluster;
    }

}

它正在工作,它正在为我获得200个Cassandra连接,但是,如果我把:

spring.datasource.hikari.maximumPoolSize: 10

配置影响了我的cassandra池,它应该有200个连接可用。
有什么建议吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题