使用Springboot使用CassandraConfig获取指标异常

时间:2018-11-28 22:00:34

标签: spring-boot cassandra spring-data-cassandra

在应用程序启动期间出现以下异常。 ApplicationCaused 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 类的一部分。 我正在使用spring-data-cassandra。 我尝试从不同的依赖项中排除指标,但是它们都不起作用。

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

    @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();
        }
    }

CassandraConfig

 <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>

依赖项

Sub browsetosite() 
   Dim IE As New SHDocVw.InternetExplorer

   IE.Visible = True
   IE.navigate "www.finance.yahoo.com"

   Do While IE.ReadyState <> READYSTATE_COMPLETE
   Loop
   Application.Wait (Now + TimeValue("00:00:10"))
   IE.Document.forms("input").elements("yfin-usr-qry").Value = "APPL"
   IE.Document.forms("input").elements("search-button").Focus
   IE.Document.forms("input").elements("search-button").Click
End Sub

1 个答案:

答案 0 :(得分:1)

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

add_filter( 'woocommerce_calculated_total', 'calculated_total', 10, 2 );
function calculated_total( $total, $cart ) {
    $taster_count = 4;
    $item_count   = $cart->get_cart_contents_count();
    $chistm_count = 0;

    foreach ( $cart->get_cart() as $cart_item ) {
        if ( ! has_term( 'christmas', 'product_cat', $cart_item['product_id'] ) ) {
            $chistm_count += $cart_item['quantity'];
        }
    }
    if( $taster_count == $item_count && $chistm_count == $taster_count  )

        //HERE TRY TO DISPLAY A DUMMY FREE SHIPPING MESSAGE
        $discount = 3.00;
        $cart->add_fee( 'Taster Box Offer! Free Shipping', -$discount);

        return 10;
    return $total;
}