Зажечь с интеграцией Кассандры

Я пытаюсь интегрировать Ignite с Cassandra. Я использую постоянную стратегию в качестве BLOB. когда я запускаю программу, она показывает ошибку типа «com.datastax.driver.core.exceptions.CodecNotFoundException: кодек не найден для запрошенной операции: [varchar <-> java.nio.HeapByteBuffer] at com.datastax.driver.core.CodecRegistry.notFound (CodecRegistry.java:679)
«

вот мой постоянный xml файл

<persistence keyspace="sam" table="key">
<keyPersistence class="java.lang.String" strategy="BLOB" column="key"/>
<valuePersistence class="java.lang.String" strategy="BLOB" column="value"/>
</persistence>

main.cpp

int main()
{
IgniteConfiguration cfg;
cfg.springCfgPath = "apache-ignite-fabric-2.0.0-bin/cassandra-config.xml";
Ignite grid = Ignition::Start(cfg);
Cache<Test, Test> cache = grid.GetCache<Test, Test>("cache1");
Test obj;
cache.LoadCache ();
Test key;
key.key = "123dfsdfs";
obj.value = "sdfsf";
cache.Put (key,obj);
return 0;
}

0

Решение

Ошибка означает, что тип столбца в Кассандре varchar, но вы пытаетесь вписать в него BLOB. Таким образом, провал.

Но почему вы используете BLOB стратегия для строк? Вы можете написать строку как есть varchar столбец с помощью PRIMITIVE стратегия вместо.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]