kotlin - 如何修复应用程序启动时未加载的 micronaut micrometer bean

标签 kotlin applicationcontext micronaut micrometer

A 创建了一个简单的 micronaut 应用程序,用于公开微米指标。我想添加自定义标签,但是执行此操作的 bean 不会在启动时加载。

我错过了什么? 备注:在本地电脑上使用intellj启动时不会出现这种情况。但部署在 k8s 上确实可以工作。

bean :

@Factory
open class MeterFilterFactory {

    @Bean
    @Singleton
    fun addCommonTags(): MeterFilter {
        return MeterFilter.commonTags(
            Arrays.asList(
                Tag.of("service", "my-super-service"),
                Tag.of("special", "tag comes here")
            )
        )
    }
}

应用程序配置

micronaut:
  metrics:
    enabled: true
    sensitive: true
    export:
      prometheus:
        enabled: true
        step: PT1M
        descriptions: true
  distribution:
    percentiles-histogram:
      http.server.requests: true
    sla:
      http.server.requests: 1ms,5ms
  binders:
    logback:
      enabled: false
    processor:
      enabled: false
    uptime:
      enabled: false

构建梯度

    compile "io.micronaut.configuration:micronaut-micrometer-registry-statsd"
    compile "io.micronaut:micronaut-management"
    compile "io.micronaut.configuration:micronaut-micrometer-registry-prometheus"

现在我回来了

{"name":"system.cpu.usage","measurements":[{"statistic":"VALUE","value":0.07751937984496124}]}

但我错过了我尝试添加的标签。

最佳答案

如果用@Context标记bean,则bean将在上下文初始化时初始化。请参阅https://docs.micronaut.io/1.0.5/api/io/micronaut/context/annotation/Context.html .

希望对您有所帮助。

关于kotlin - 如何修复应用程序启动时未加载的 micronaut micrometer bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55651640/

相关文章:

kotlin - launch 仅从 Kotlin 1.3 开始可用,不能在 Kotlin 1.2 中使用

kotlin - 如何从Kotlin中相同大小的MutableList <MutableList <Boolean >>创建MutableList <MutableList <Int >>

java - 如何在 Spring 中使用 applicationcontext.xml 文件访问属性文件字段?

java - 使用 PropertyPlaceholderConfigurer 时 ${project.name} 丢失

java - 什么是NoSuchBeanDefinitionException,我该如何解决?

json - 克拉克森:希望有个名字,但得到了LEFT_BRACE

java - 如何禁用 micronaut 的静态内容缓存?

amazon-web-services - 如何在属于 AWS Lambda 代理的 Micronaut API 实现中获取 "requestContext"数据

java - 如何使用 Micronaut 和 RabbitMQ 消费和发布消息?

kotlin - 在 kotlin 中从 GSON 生成对象时不调用数据类初始化函数