Hi,

We're trying to use Continuous Query to handle updates on existing object,
but it looks like as oldValue in Update event is working incorrectly.

Example of our usage:

public class TestContinuousQueryUpdateEvent {

    private static class TestVal {
        public String val;

        public TestVal(String val) {
            this.val = val;
        }

        @Override
        public String toString() {
            return val;
        }
    }

    public static void main(String[] args) throws Exception {
        try (Ignite ignite =
Ignition.start("examples/config/example-ignite.xml")) {
            try (IgniteCache<Integer, TestVal> cache =
ignite.getOrCreateCache("test")) {
                ContinuousQuery<Integer, TestVal> qry = new
ContinuousQuery<>();
               
qry.setRemoteFilterFactory(FactoryBuilder.factoryOf(remoteFilter()));

                qry.setLocalListener(evts -> {
                    for (CacheEntryEvent<? extends Integer, ? extends
TestVal> e : evts)
                        System.out.println("Local Listener: Event Type = " +
e.getEventType() + ", Old val = " + e.getOldValue() + ", New val = " +
e.getValue());
                });

                cache.query(qry);

                cache.put(1, new TestVal("old"));

                TestVal oldVal = cache.get(1);
                oldVal.val = "new";

                cache.put(1, oldVal);

                sleep(1000);
            } finally {
                ignite.destroyCache("test");
            }
        }
    }

    private static CacheEntryEventSerializableFilter<Integer, TestVal>
remoteFilter() {
        return e -> true;
    }
}

Output:
Local Listener: Event Type = CREATED, Old val = null, New val = old
Local Listener: Event Type = UPDATED, Old val = new, New val = new

We expected that oldValue will return actually saved object rather then
reference to object we have modified in our code.

Please advise how should we deal with this.






--
View this message in context: 
http://apache-ignite-users.70518.x6.nabble.com/Problem-with-v-for-listening-updates-tp8709.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.

Reply via email to