Я запускаю Ignite с Spring Boot. Моим намерением является выполнение SqlFieldQuery над BinaryObject в Ignite с упоминанием того, что у меня нет никакого класса сущностей, создающего сущность во время выполнения с помощью QueryEntity. Это мой код ниже:
CacheConfiguration<Integer, BinaryObject> cachecfg = new CacheConfiguration<>();
cachecfg.setQueryEntities(new ArrayList<QueryEntity>()
{
{
QueryEntity e = new QueryEntity();
e.setKeyType("java.lang.Integer");
e.setValueType("BinaryTest");
e.setFields(new LinkedHashMap<String, String>() {
{
put("name", "java.lang.String");
}
});
add(e);
}
});
cachecfg.setName("MY_CACHE");
IgniteCache<Integer, BinaryObject> ignitecache = igniteInstance.createCache(cachecfg).withKeepBinary();
BinaryObjectBuilder builder = igniteInstance.binary().builder("BinaryTest");
builder.setField("name", "Test");
ignitecache.put(1, builder.build());
QueryCursor<List<?>> query = ignitecache.query(new SqlFieldsQuery("select name from BinaryTest"));
System.out.println(query.getAll());
когда я запускаю этот код, он получает Ошибка :
class org.apache.ignite.IgniteCheckedException: Failed to validate cache
configuration (make sure all objects in cache configuration are
serializable): MY_CACHE
Возможно, мне не хватает какой-то конфигурации для сериализации. Что-то не так?