import org.apache.ignite.Ignite; import org.apache.ignite.IgniteCache; import org.apache.ignite.Ignition; import org.apache.ignite.cache.CacheAtomicityMode; import org.apache.ignite.cache.CacheMode; import org.apache.ignite.cache.CacheWriteSynchronizationMode; import org.apache.ignite.cache.query.QueryCursor; import org.apache.ignite.cache.query.ScanQuery; import org.apache.ignite.configuration.CacheConfiguration; import org.apache.ignite.configuration.IgniteConfiguration; import org.apache.ignite.lang.IgniteBiPredicate;
import javax.cache.Cache; public class QueryTest { public static Ignite ignite; public static IgniteCache<String, Person> cache; public static void main(String[] args) { try { init(); // insertData(); queryData(); } catch (Exception e) { throw e; } finally { ignite.close(); } } private static void queryData() { System.out.println("query data start"); QueryCursor<Cache.Entry<String, Person>> query = cache.query(new ScanQuery<String, Person>(new IgniteBiPredicate<String, Person>() { @Override public boolean apply(String s, Person person) { System.out.println(s + " : " + person); return person.getAge() > 22; } })); for (Cache.Entry<String, Person> entry : query) { System.out.println("queryData() ====> key:" + entry.getKey() + ", value:" + entry.getValue()); } System.out.println("query data end"); } private static void insertData() { System.out.println("insert data start"); Person p1 = new Person("Jack", 20); Person p2 = new Person("Tom", 21); Person p3 = new Person("Mike", 22); Person p4 = new Person("Luci", 23); Person p5 = new Person("Debug", 24); cache.put(p1.getName(), p1); cache.put(p2.getName(), p2); cache.put(p3.getName(), p3); cache.put(p4.getName(), p4); cache.put(p5.getName(), p5); System.out.println("insert data end"); } private static void init() { System.out.println("init ignite cache start"); IgniteConfiguration cfg = new IgniteConfiguration(); cfg.setClientMode(true); cfg.setPeerClassLoadingEnabled(true); CacheConfiguration cardCacheCfg = new CacheConfiguration(); cardCacheCfg.setName("Person_Cache"); cardCacheCfg.setCacheMode(CacheMode.PARTITIONED); cardCacheCfg.setWriteSynchronizationMode(CacheWriteSynchronizationMode.FULL_SYNC); cardCacheCfg.setBackups(2); cardCacheCfg.setAtomicityMode(CacheAtomicityMode.TRANSACTIONAL); cfg.setCacheConfiguration(cardCacheCfg); ignite = Ignition.start(cfg); cache = ignite.getOrCreateCache("Person_Cache"); System.out.println("init ignite cache end"); } } class Person { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public Person(String name, int age) { this.name = name; this.age = age; } @Override public String toString() { return "Person{" + "name='" + name + '\'' + ", age=" + age + '}'; } } <http://apache-ignite-users.70518.x6.nabble.com/file/t2304/1.png> I want the result to be key:Luci, value:Person{name='Luci', age=23} key:Debug, value:Person{name='Debug', age=24} and Do I have to put lib in ignite lib folder ? Thanks -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/