spring-boot - 使用 Springboot 通过 CassandraConfig 获取指标异常
问题描述
我在应用程序启动期间遇到以下异常。@EnableCassandraRepositories
是Application
班级的一部分。我正在使用弹簧数据卡桑德拉。我尝试从不同的依赖项中排除指标,但它们都不起作用。
下面是我使用的错误和配置代码以及依赖项。
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>
推荐阅读
- python - 从字符串中删除开头和结尾 " 并存储为变量
- android - 应用权限调用:Bluestacks 上的耳机
- marklogic - 如何从 Java api Marklogic 10 [marklogic] 调用 sjs 或 xqy 文件
- javascript - 如何并行运行 2 个幻灯片动画?
- java - 当方法返回类型为 Mono 时返回 String 值
- selenium - 我开始在 New Relic 中浏览 selenium 脚本,当我尝试打印属性时,我无法获取此数据
- android - 如何在颤动的身体中间制作一张卡片
- python-3.x - 获取句子(表示为字符串)和短语列表之间的最接近匹配
- r - Git-hub 损坏 RData 文件
- python - python中用于大数据集的公式的功能