Вот кусок кода, который у меня есть
MyValue sampleValue = Values.newHeapInstance(MyValue.class);
// subsequently set the couple of floats and int i have defined in MyValue interface
ChronicleMap<MyKey, MyValue> cache = ChronicleMapBuilder.of(MyKey.class, MyValue.class)
.entries(100)
.averageValue(sampleValue)
.create();
Когда я это делаю, я получаю сообщение об ошибке
java.lang.IllegalArgumentException: использование BytesMarshallable и тип значения интерфейса, не поддерживаемый в net.openhft.chronicle.map.ChronicleMapBuilder.averageValue(ChronicleMapBuilder.java:660)
Может ли кто-нибудь помочь мне понять, является ли этот шаблон использования неправильным?
Если я перейду к созданию MyValue, реализовав конкретный класс, а затем создав новый для этого, он будет работать следующим образом:
MyValue sampleValue = new MyValueImpl();
// subsequently set the couple of floats and int i have defined in MyValue interface
ChronicleMap<MyKey, MyValue> cache = ChronicleMapBuilder.of(MyKey.class, MyValue.class)
.entries(100)
.averageValue(sampleValue)
.create();