当前位置: 首页 > 知识库问答 >
问题:

配置Cassandra与micronaut框架从yaml

乌甫
2023-03-14

我正在使用micronaut框架,并试图从应用程序配置cassandra数据访问。yml对于标准测试用例,我可以配置datastax驱动程序

cassandra:
    default:
        clusterName: "Test Cluster"
        contactPoint: "192.168.99.100"
        port: 9042
        maxSchemaAgreementWaitSeconds: 20
        ssl: false

然而,我找不到一种方法来提供与方法一起使用的配置。带凭证

我看到了https://github.com/micronaut-projects/micronaut-core/blob/dc8c423be1979817c9c8f53440f3b87e775523b2/configurations/cassandra/src/main/java/io/micronaut/configuration/cassandra/CassandraConfiguration.java

执行以下操作

 @ConfigurationBuilder(allowZeroArgs = true, prefixes = { "with", "add" })
    Cluster.Builder builder = Cluster.builder();

然而,withCredentials方法需要两个参数https://docs.datastax.com/en/drivers/java/2.0/com/datastax/driver/core/Cluster.Builder.html#withCredentials-爪哇。lang.String-java。串-

public Cluster.Builder withCredentials(String username,
                                       String password)

yaml如何为这种方法提供配置?

共有1个答案

叶坚
2023-03-14

通过@graemem-rocher在https://github.com/micronaut-projects/micronaut-core/issues/1106中添加的新功能,我能够做到以下几点:

import com.datastax.driver.core.Cluster
import io.micronaut.context.ApplicationContext
import io.micronaut.context.event.BeanCreatedEvent
import io.micronaut.context.event.BeanCreatedEventListener
import org.slf4j.Logger
import org.slf4j.LoggerFactory

import javax.inject.Singleton

@Singleton
class ClusterBuilderListener implements BeanCreatedEventListener<Cluster.Builder> {
    private static final Logger LOG = LoggerFactory.getLogger(ClusterBuilderListener.class)

    @Override
    Cluster.Builder onCreated(BeanCreatedEvent<Cluster.Builder> event) {
        def builder = event.getBean()
        ApplicationContext applicationContext = (ApplicationContext) event.getSource()

        if(applicationContext.getEnvironment().getActiveNames().contains('pro') ){
            builder.withCredentials("username", "password")
        }
        return builder
    }
}
 类似资料:
  • herosphpphp的配置信息都在app/configs文件夹中 configs目录中包含了该应用所有的相关配置文档: env 跟环境相关的配置,app配置,数据库配置。包含了三个环境, dev(开发), test(测试), prod(生产) autoload.config.php 自定义需要自动加载的类的配置 beans beans服务配置文件目录 models 模型配置文件夹 session

  • 问题内容: 我正在淘汰Java库中的所有硬编码值,并且想知道哪种框架最好(就零或接近零的配置而言)来处理运行时配置?我希望使用基于XML的配置文件,但这不是必需的。 如果您有框架方面的实践经验,请仅作答复。我不是在寻找例子,而是经验…… 问题答案: 如果您的硬编码值只是简单的键值对,则应查看java.util.Properties。它比xml简单得多,易于使用,并且实现起来很麻烦。 如果您正在使用

  • 主要内容:从二进制tar文件安装Apache Cassandra和Datastax企业级被不同组织用于存储大量数据。在安装Apache Cassandra之前,您必须具备以下事项: 必须拥有datastax社区版本,可以点击这里下载Cassandra3.10。 必须提前安装好JDK8以上版本。 必须提前安装好JDK。 最新版本的Java 8,要验证是否安装了正确版本的Java,请在终端上输入: 对于使用, 需要安装(一定要使用这

  • 本文向大家介绍Laravel 5框架学习之环境与配置,包括了Laravel 5框架学习之环境与配置的使用技巧和注意事项,需要的朋友参考一下 .env 文件是配置文件,包括数据库配置信息,查看 config->database.php ,connections 里面包含了所有数据库的配置,可以在 default 中选择要使用的数据库。在数据库配置中,有关 env('DB_HOST', 'localh

  • 问题内容: 我有以下示例代码: 我需要查找将哪些SQL查询发送到数据库。 如何使用SQL Express和VS 2012剖析EF查询? 有什么工具吗? 问题答案: 您在这里有一些选择。 通过在运行时打印出来检查查询看到(我认为这仅适用于查询,可能不是最好在上述情况下) 使用管理工作室内置的SQL事件探查器 使用Entity Framework Profiler(一个非常好的第三方工具,带有试用版,

  • 任何关于如何做到这一点的文件都将不胜感激。 提前谢了。