小编TBl*_*ank的帖子

UserTypeResolver不能为null

我一直在尝试测试Cassandra UDT的插入,并且一直遇到以下错误:线程“ main”中的异常java.lang.IllegalArgumentException:UserTypeResolver不能为null

在尝试找出自己的方式之后,我尝试完全复制以下方法: 用户定义类型与spring-data-cassandra

但是,我仍然遇到相同的错误。

当我删除UDT并仅插入简单类型时,我能够插入到目标数据库中,因此我知道连接正确。我的配置如下:

@Configuration
@PropertySource(value = { "classpath:cassandra.properties" })
//@EnableCassandraRepositories(basePackages = { "org.spring.cassandra.example.repo" })
public class CassandraConfig {

private static final Logger LOG = LoggerFactory.getLogger(CassandraConfig.class);

@Autowired
private Environment env;

@Bean
public CassandraClusterFactoryBean cluster() {

    CassandraClusterFactoryBean cluster = new CassandraClusterFactoryBean();
    cluster.setContactPoints(env.getProperty("cassandra.contactpoints"));
    cluster.setPort(Integer.parseInt(env.getProperty("cassandra.port")));

    return cluster;
}

@Bean
public CassandraMappingContext mappingContext() {
    BasicCassandraMappingContext mappingContext = new BasicCassandraMappingContext();
    mappingContext.setUserTypeResolver(new SimpleUserTypeResolver(cluster().getObject(), "campaign_management"));
    return mappingContext;
}

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

@Bean
public CassandraSessionFactoryBean session() throws Exception { …
Run Code Online (Sandbox Code Playgroud)

user-defined-types spring-data-cassandra

5
推荐指数
1
解决办法
2444
查看次数