Get/Set PoolingOptions in Spring-Data-Cassanda (boot)(获取/设置Spring-Data-Cassanda中的PoolingOptions(启动))
问题描述
我在我的环境中使用以下依赖项:
- Spring-Boot-starter-Parent-v2.3.5版本
- Spring-Boot-starter-data-Cassandra-ame
- Cassandra-Driver-core(com.datastax.cassandra)-v3.2.0
如何访问我的设置中com.datastax.driver.core.PoolingOptions
中设置的连接池选项?
Spring Data Cassandra(SDC)文档指定以下内容:
AbstractCassandraConfiguration允许您提供各种配置 选项,如初始实体、默认查询选项、池化 选项、插座选项等。
但我无论如何也找不到在DS驱动程序中设置这些池化选项的位置:(
看起来Spring data中的CassandraClusterFactoryBean
和PoolingOptionsFactoryBean
Cassandra已被移除,我不知道如何在没有它们的情况下或通过我编写的AbstractCassandraConfiguration
扩展/实现来获得PoolingOptions
的句柄。
以下是受支持的池化选项。但是,如何访问代码中包含这些配置的PoolingOptions
Bean呢?
Connection pooling options
cassandra.pool.heartbeat-interval-seconds - heartbeat interval in seconds.
cassandra.pool.idle-timeout-seconds - idle connection timeout in seconds.
cassandra.pool.pool-timeout-millis - timeout for acquiring connection from pool in ms.
cassandra.pool.local.core-connections-per-host - initial number of connections to each "local" host.
cassandra.pool.local.max-connections-per-host - max number of connections to each "local" host.
cassandra.pool.local.max-requests-per-connection - max number of requests per connections to "local" host.
cassandra.pool.local.new-connection-threshold - threshold to trigger new connection to "local" host.
cassandra.pool.remote.core-connections-per-host - initial number of connections to each "remote" host.
cassandra.pool.remote.max-connections-per-host - max number of connections to each "remote" host.
cassandra.pool.remote.max-requests-per-connection - max number of requests per connections to "remote" host.
cassandra.pool.remote.new-connection-threshold - threshold to trigger new connection to "remote" host.
SDC文件中还提到:
将Cluster
和Session
对象合并到一个 因此,所有与集群相关API都是 已删除。
为了反映配置构建器中的更改,ClusterBuilderConfigurer
已重命名为SessionBuilderConfigurer
现在接受CqlSessionBuilder
而不是Cluster.Builder
感谢任何帮助。
推荐答案
我设法访问这些配置的方式是通过覆盖CassandraAutoConfiguration类中的cassandraDriverConfigLoaderBean。
此处,在cassandraDriverConfigLoaderBean中,Spring配置映射到Cassandra驱动程序配置。
基本上,我将代码从自动配置复制粘贴到我的项目中,并添加了所需的配置。有一个包含所有所需配置的方便的枚举。@Bean
public DriverConfigLoader cassandraDriverConfigLoader(CassandraProperties properties,
ObjectProvider<DriverConfigLoaderBuilderCustomizer> builderCustomizers) {
.....
}
private Config cassandraConfiguration(CassandraProperties properties) {
CassandraDriverOptions options = new CassandraDriverOptions();
options.add(DefaultDriverOption.CONNECTION_MAX_REQUESTS,30000)
...
}
为了验证是否加载了我的自定义配置,我只在DriverConfig.getDefaultProfile处设置了一个断点
这篇关于获取/设置Spring-Data-Cassanda中的PoolingOptions(启动)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:获取/设置Spring-Data-Cassanda中的PoolingOptions(启动)
基础教程推荐
- 首次使用 Hadoop,MapReduce Job 不运行 Reduce Phase 2022-01-01
- 由于对所需库 rt.jar 的限制,对类的访问限制? 2022-01-01
- 如何使用 Stream 在集合中拆分奇数和偶数以及两者的总和 2022-01-01
- 如何强制对超级方法进行多态调用? 2022-01-01
- 如何对 HashSet 进行排序? 2022-01-01
- 如何在不安装整个 WTP 包的情况下将 Tomcat 8 添加到 Eclipse Kepler 2022-01-01
- 在螺旋中写一个字符串 2022-01-01
- 如何使用 Eclipse 检查调试符号状态? 2022-01-01
- Java 中保存最后 N 个元素的大小受限队列 2022-01-01
- Spring Boot Freemarker从2.2.0升级失败 2022-01-01