使用 Spring Boot 通过 Cassandra Config 获取指标异常

Getting metrics exception with CassandraConfig using Springboot

我在应用程序启动期间遇到以下异常。 @EnableCassandraRepositoriesApplication class 的一部分。 我正在使用 spring-data-cassandra。 我尝试从不同的依赖项中排除指标,但其中 none 有效。

下面是错误和配置代码以及我使用的依赖项。

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'session' defined in class path resource [com/lte/assessmentanalytics/config/CassandraConfig.class]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: com/codahale/metrics/Metric

CassandraConfig

    @Configuration
    public class CassandraConfig extends AbstractCassandraConfiguration {
        @Value("${cassandra.contactpoints}")
        private String contactPoints;
        @Value("${cassandra.port}")
        private int port;
        @Value("${cassandra.keyspace}")
        private String keySpace;
        @Value("${cassandra.basePackages}")
        private String basePackages;

        @Autowired
        private Environment environment;

        @Override
        protected String getKeyspaceName() {
            return keySpace;
        }

        @Override
        @Bean
        public CassandraClusterFactoryBean cluster() {
            final CassandraClusterFactoryBean cluster = new CassandraClusterFactoryBean();
            cluster.setContactPoints(contactPoints);
            cluster.setPort(port);
            return cluster;
        }

        @Override
        @Bean
        public CassandraMappingContext cassandraMapping() throws ClassNotFoundException {
            return new BasicCassandraMappingContext();
        }
    }

依赖关系

 <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-actuator</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-data-cassandra</artifactId>
                <exclusions>
                    <exclusion>
                        <groupId>com.datastax.cassandra</groupId>
                        <artifactId>cassandra-driver-core</artifactId>
                    </exclusion>
                        <exclusion>
                            <groupId>io.dropwizard.metrics</groupId>
                            <artifactId>metrics-core</artifactId>
                        </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.datastax.cassandra</groupId>
                <artifactId>cassandra-driver-core</artifactId>
                <exclusions>
                    <exclusion>
                        <groupId>io.dropwizard.metrics</groupId>
                        <artifactId>metrics-core</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.datastax.cassandra</groupId>
                <artifactId>cassandra-driver-mapping</artifactId>
            </dependency>

它似乎缺少 codahale 指标。尝试将此添加到您的 pom:

<dependency>
     <groupId>com.codahale.metrics</groupId>
     <artifactId>metrics-core</artifactId>
     <version>3.0.2</version>
</dependency>