Есть ли другие способы справиться с этим? Какой-нибудь слушатель, например? Использование дополнительных параметров в сериализаторе BytesWriter/Reader, который я написал.
Извините, я не объяснил это ясно.
Вот сильно сокращено Схема моей ситуации...
Код: Выделить всё
public class MyClass{
private SomeState state;
public MyClass(){
state = new SomeState(/* some params for initial value */)
}
public SomeState getState(){return state;}
public void setState(SomeState state){/* sets state */}
}
class TestClass{
@Test
public void test(){
try(Map map = ChronicleMap
.of(Integer.class, MyClass.class)
.valueMarshaller(/* my marshaller */)
.averageValue(/* average value */)
.entries(/* number of entries */)
.create()){
// Create ChronicleMap entry
MyClass a = new MyClass();
map.put(0, a);
// Modify state of the value retrieved from the map
SomeState modified = new SomeState(/* some params */);
map.get(0).setState(modified);
// Test fails - guessing because I should have done...
//
// MyClass c = map.get(0);
// c.setState(modified);
// map.put(0,c);
//
assertEquals(modified, map.get(0).getState());
}
}
}
Я прав на этот счет? Как это обойти?
Большое спасибо..
Подробнее здесь: https://stackoverflow.com/questions/790 ... ue-updates
Мобильная версия