在CacheConfiguration上使用setIndexedTypes或setTypeMetadata方法来启用。点燃错误

时间:2016-09-15 15:31:47

标签: in-memory-database ignite

我正在尝试使用简单的人员来读取缓存。设置基本表,这是我试图运行的代码

 IgniteConfiguration cfg = new IgniteConfiguration();
        cfg.setClientMode(true);
        cfg.setPeerClassLoadingEnabled(true);

        // Create store factory.
        CacheJdbcPojoStoreFactory storeFactory = new CacheJdbcPojoStoreFactory();
        storeFactory.setDataSourceBean("dataSource");

        CacheConfiguration sampleCache = CacheConfig.cache("sampleCache", storeFactory);
        sampleCache.setIndexedTypes(PersonKey.class,Person.class);
        cfg.setCacheConfiguration(sampleCache);



        Ignition.start("default-config1.xml");
        Ignite ignite=Ignition.ignite();

        IgniteCache<IncappconfigKey,INCAppConfig> cache =ignite.getOrCreateCache("sampleCache");
        cache.loadCache(null);

        SqlQuery  sqlQuery=new SqlQuery(Person.class,"id=?");
        cache.query(sqlQuery.setArgs(1l));

设置索引类型仍然出现上述错误。请有人帮忙。现在坚持了一段时间。

导入工具会自动生成所有CacheConfig和其他类。

1 个答案:

答案 0 :(得分:0)

您没有将配置传递到Ignite中。只需从已初始化的IgniteConfiguration对象开始点火即可。

简而言之,应该是


IgniteConfiguration cfg = new IgniteConfiguration();
        ...
        ...
Ignition.start(cfg);
        ...