Hi All,
We have a very simple bean, and while use the cashe's replace it will work, but
#invokeAsync or #invoke will report error. am i using it wrong?
#This can work
AccountEntry ae = accountCache.get(accountId.getIdentifier());
if(ae!=null){
if (ae.getSequence() < sequence) {
ae.setCash(totalLeft)
.setUpdateTime(instant.toEpochMilli())
.setReserved(totalReserved)
.setSequence(sequence);
accountCache.replace(accountId.getIdentifier(), ae);
}
}
this can not:
accountCache.invokeAsync(accountId.getIdentifier(), (entry, arguments) -> {
if(entry.exists()) {
final AccountEntry ae = entry.getValue();
if (ae.getSequence() < sequence) {
ae.setCash(totalLeft)
.setUpdateTime(instant.toEpochMilli())
.setReserved(totalReserved)
.setSequence(sequence);
entry.setValue(ae);
}
}
return null;
});
Exception:
at
org.apache.ignite.internal.binary.BinaryFieldAccessor$DefaultFinalClassAccessor.write(BinaryFieldAccessor.java:478)
~[ignite-core-2.1.0.jar!/:2.1.0]
at
org.apache.ignite.internal.binary.BinaryClassDescriptor.write(BinaryClassDescriptor.java:793)
~[ignite-core-2.1.0.jar!/:2.1.0]
at
org.apache.ignite.internal.binary.BinaryWriterExImpl.marshal0(BinaryWriterExImpl.java:206)
~[ignite-core-2.1.0.jar!/:2.1.0]
at
org.apache.ignite.internal.binary.BinaryWriterExImpl.marshal(BinaryWriterExImpl.java:147)
~[ignite-core-2.1.0.jar!/:2.1.0]
at
org.apache.ignite.internal.binary.BinaryWriterExImpl.marshal0(BinaryWriterExImpl.java:201)
~[ignite-core-2.1.0.jar!/:2.1.0]
at
org.apache.ignite.internal.binary.BinaryWriterExImpl.marshal(BinaryWriterExImpl.java:147)
~[ignite-core-2.1.0.jar!/:2.1.0]
at
org.apache.ignite.internal.binary.BinaryWriterExImpl.marshal(BinaryWriterExImpl.java:134)
~[ignite-core-2.1.0.jar!/:2.1.0]
at
org.apache.ignite.internal.binary.BinaryWriterExImpl.doWriteObject(BinaryWriterExImpl.java:496)
~[ignite-core-2.1.0.jar!/:2.1.0]
at
org.apache.ignite.internal.binary.BinaryWriterExImpl.writeObjectField(BinaryWriterExImpl.java:1160)
~[ignite-core-2.1.0.jar!/:2.1.0]
at
org.apache.ignite.internal.binary.BinaryFieldAccessor$DefaultFinalClassAccessor.write(BinaryFieldAccessor.java:663)
~[ignite-core-2.1.0.jar!/:2.1.0]
at
org.apache.ignite.internal.binary.BinaryClassDescriptor.write(BinaryClassDescriptor.java:793)
~[ignite-core-2.1.0.jar!/:2.1.0]
at
org.apache.ignite.internal.binary.BinaryWriterExImpl.marshal0(BinaryWriterExImpl.java:206)
~[ignite-core-2.1.0.jar!/:2.1.0]
at
org.apache.ignite.internal.binary.BinaryWriterExImpl.marshal(BinaryWriterExImpl.java:147)
~[ignite-core-2.1.0.jar!/:2.1.0]
at
org.apache.ignite.internal.binary.BinaryWriterExImpl.marshal0(BinaryWriterExImpl.java:201)
~[ignite-core-2.1.0.jar!/:2.1.0]
at
org.apache.ignite.internal.binary.BinaryWriterExImpl.marshal(BinaryWriterExImpl.java:147)
~[ignite-core-2.1.0.jar!/:2.1.0]
at
org.apache.ignite.internal.binary.BinaryWriterExImpl.marshal(BinaryWriterExImpl.java:134)
~[ignite-core-2.1.0.jar!/:2.1.0]
at
org.apache.ignite.internal.binary.BinaryWriterExImpl.doWriteObject(BinaryWriterExImpl.java:496)
~[ignite-core-2.1.0.jar!/:2.1.0]
at
org.apache.ignite.internal.binary.BinaryWriterExImpl.writeObjectField(BinaryWriterExImpl.java:1160)
~[ignite-core-2.1.0.jar!/:2.1.0]
[email protected]