java - Apache 点燃: Continuous SQLFieldQuery

标签 java ignite

我希望公开 Apache Ignite 缓存,并且客户端应用程序可以访问它。我可以在 Apache Ignite 版本 1.9 中看到连续查询支持 - https://github.com/apache/ignite/blob/master/examples/src/main/java/org/apache/ignite/examples/datagrid/CacheContinuousAsyncQueryExample.java

但是我找不到任何如何实现 Continuous SQLFieldQuery 的示例。

public static void main(String[] args) throws Exception {
        System.out.println("Run Spring example!!");
        Ignition.setClientMode(true);
        IgniteConfiguration cfg = new IgniteConfiguration();
        cfg.setIncludeEventTypes( EVTS_CACHE);
        cfg.setPeerClassLoadingEnabled(true);
        TcpDiscoveryMulticastIpFinder discoveryMulticastIpFinder = new TcpDiscoveryMulticastIpFinder();
        Set<String> set = new HashSet<>();

        set.add("serverhost:47500..47509");
        discoveryMulticastIpFinder.setAddresses(set);

        TcpDiscoverySpi discoverySpi = new TcpDiscoverySpi();
        discoverySpi.setIpFinder(discoveryMulticastIpFinder);

        cfg.setDiscoverySpi(discoverySpi);

        cfg.setPeerClassLoadingEnabled(true);
        cfg.setIncludeEventTypes(EVTS_CACHE);
        Ignite ignite = Ignition.start(cfg);

        CacheConfiguration<String, BinaryObject> cacheConfiguration = new CacheConfiguration<>(CACHE_NAME);


        IgniteCache<String, BinaryObject> cache = ignite.getOrCreateCache(cacheConfiguration).withKeepBinary();


        QueryCursor<List<?>> query = cache.query(new SqlFieldsQuery("select Field1 from table1 where Field1='TEST'"));
            List<List<?>> all = query.getAll();
            for (List<?> l : all) {
                System.out.println(l);
            }


    }

最佳答案

连续查询仅基于谓词,这里不支持 SQL。您可以提供一个远程过滤器,服务器端的每次更新都会调用该过滤器。所有满足过滤器的更新都将被批量发送到订阅者,在订阅者中调用本地监听器。

详情请参阅此页面:https://apacheignite.readme.io/docs/continuous-queries

关于java - Apache 点燃: Continuous SQLFieldQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43072792/

相关文章:

java - Cassandra 表分析方法?

客户端模式下的 Ignite 和 RDMS 集成

java - 从我的 CollapsingToolbarLayout 更改颜色

java - 创建多个 fragment 的通用方法

java - 包含在 TreeSet 上与另一个 Set

java - 使用 Android fragment 获取 mysql 数据库信息

java - Ignite 在持久化时无法消耗 WAL 日志并释放操作系统缓冲区

java - 如何在android中检查设备是否设置了密码?

java - Apache Ignite IGFS 不使用非堆空间

spring - 如何将spring资源注入(inject)Apache Ignite类?