Hi Ilya,
Thanks for your response, yes I had tried with withKeepBinary() option. If I
call with withKeepBinary() option then there no deserialization related
exception is coming but the returned entries are being wrapped to
'BinaryObjectImpl' and hence getting ClassCastException. Is there any option
to get the entries of rawtype?
I'm using the following code snippet to fetch the data:
public class Predicate<K,V> implements IgniteBiPredicate<K,V>
{
/**
*
*/
private static final long serialVersionUID = 1L;
@Override
public boolean apply(K e1, V e2) {
return true;
}
}
public class IgniteValueClass implements Binarylizable, Serializable {
private static final long serialVersionUID = 502832443677779719L;
@QuerySqlField(index = true)
String id;
@QuerySqlField(index = true)
String val1;
@QuerySqlField
String val2;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getVal1() {
return val1;
}
public void setVal1(String val1) {
this.val1 = val1;
}
public String getVal2() {
return val2;
}
public void setVal2(String val2) {
this.val2 = val2;
}
@Override
public void writeBinary(BinaryWriter writer) throws
BinaryObjectException {
writer.writeString("id", id);
writer.writeString("val1", val1);
writer.writeString("val2", val2);
}
@Override
public void readBinary(BinaryReader reader) throws
BinaryObjectException {
id = reader.readString("id");
val1 = reader.readString("val1");
val2 = reader.readString("val2");
}
}
public Iterator<Entry<Object, Object>> getAllEntries(String areaName)
throws NotClientException {
checkConnectedAndExists(areaName);
Query<Cache.Entry<Object, Object>> sql = new ScanQuery<>(new
Predicate<>());
try (QueryCursor<Entry<Object, Object>> cursor =
ignite.cache(areaName).withKeepBinary().query(sql)) {
return returnEntry(cursor);
}
}
Thanks
Saby
--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/