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&lt;Object, Object>> getAllEntries(String areaName)
throws NotClientException {
                checkConnectedAndExists(areaName);
                Query<Cache.Entry&lt;Object, Object>> sql = new ScanQuery<>(new
Predicate<>());
                try (QueryCursor<Entry&lt;Object, Object>> cursor =
ignite.cache(areaName).withKeepBinary().query(sql)) {
                        return returnEntry(cursor);
                }
        } 

Thanks
Saby




--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/

Reply via email to