Spring Data Cassandra ClassNotFoundException - PullRequest
0 голосов
/ 10 июля 2020

получить эту ошибку при запуске приложения весенней загрузки мое приложение весенней загрузки Spring Boot версии 2.2.4 и версии cassandra spring-data-cassandra 3.0.1.RELEASE

это моя ошибка

Caused by: java.lang.ClassNotFoundException: org.springframework.data.convert.CustomConversions$ConverterConfiguration
    at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
    ... 113 common frames omitted

и мой класс конфигурации

 public class CassandraConfig {
    @Bean
    public CqlSessionFactoryBean session() {

        CqlSessionFactoryBean session = new CqlSessionFactoryBean();
        session.setContactPoints("localhost");
        session.setKeyspaceName("mykeyspace");
        session.setUsername("cassandra");
        session.setPassword("cassandra");
        session.setLocalDatacenter("dc1");
        return session;
    }

    @Bean
    public SessionFactoryFactoryBean sessionFactory(CqlSession session, CassandraConverter converter) {

        SessionFactoryFactoryBean sessionFactory = new SessionFactoryFactoryBean();
        sessionFactory.setSession(session);
        sessionFactory.setConverter(converter);
        sessionFactory.setSchemaAction(SchemaAction.NONE);

        return sessionFactory;
    }

    @Bean
    public CassandraMappingContext mappingContext(CqlSession cqlSession) {

        CassandraMappingContext mappingContext = new CassandraMappingContext();
        mappingContext.setUserTypeResolver(new SimpleUserTypeResolver(cqlSession));

        return mappingContext;
    }

    @Bean
    public CassandraConverter converter(CassandraMappingContext mappingContext) {
        return new MappingCassandraConverter(mappingContext);
    }

    @Bean
    public CassandraOperations cassandraTemplate(SessionFactory sessionFactory, CassandraConverter converter) {
        return new CassandraTemplate(sessionFactory, converter);
    }

}

как исправить эту ошибку?

1 Ответ

0 голосов
/ 20 июля 2020

Эти версии несовместимы. В spring-data-cassandra произошли существенные критические изменения по сравнению с версией 2.2.x до версии 3.xx.

Чтобы использовать версию 3.xx Cassandra, вам нужно обновить spring до 2.3.x. Либо так, либо вам нужно будет перейти на версию spring-data-cassandra до 2.2.x.

...