Apache ignite中的读取操作期间出错

Apache ignite中的读取操作期间出错,ignite,gridgain,Ignite,Gridgain,我已经通过参考上的演示示例,为我的数据库实现了预加载和通读操作。在Apache ignite中执行读取操作时,我遇到以下错误。我正在尝试从oracle数据库读取数据。我能够预加载数据库中的数据,但在读取记录时出现以下错误 [18:50:42,299][SEVERE][sys-#97%null%][GridPartitionedSingleGetFuture] Failed to get values from dht cache [fut=GridCompoundIdentityFuture [

我已经通过参考上的演示示例,为我的数据库实现了预加载通读操作。在Apache ignite中执行读取操作时,我遇到以下错误。我正在尝试从oracle数据库读取数据。我能够预加载数据库中的数据,但在读取记录时出现以下错误

[18:50:42,299][SEVERE][sys-#97%null%][GridPartitionedSingleGetFuture] Failed to get values from dht cache [fut=GridCompoundIdentityFuture [super=GridCompoundFuture [rdc=Collection reducer: null, initFlag=1, lsnrCalls=0, done=true, cancelled=false, err=class o.a.i.IgniteCheckedException: javax.cache.CacheException: Failed to find mapping description [cache=WarehouseCache, typeId=class WarehouseKey]. Please configure JdbcType to associate cache 'WarehouseCache' with JdbcPojoStore., futs=[false]]]]
class org.apache.ignite.IgniteCheckedException: javax.cache.CacheException: Failed to find mapping description [cache=WarehouseCache, typeId=class WarehouseKey]. Please configure JdbcType to associate cache 'WarehouseCache' with JdbcPojoStore.
    at org.apache.ignite.internal.processors.cache.store.GridCacheStoreManagerAdapter.loadFromStore(GridCacheStoreManagerAdapter.java:337)
    at org.apache.ignite.internal.processors.cache.store.GridCacheStoreManagerAdapter.load(GridCacheStoreManagerAdapter.java:293)
    at org.apache.ignite.internal.processors.cache.store.GridCacheStoreManagerAdapter.loadAllFromStore(GridCacheStoreManagerAdapter.java:426)
    at org.apache.ignite.internal.processors.cache.store.GridCacheStoreManagerAdapter.loadAll(GridCacheStoreManagerAdapter.java:392)
    at org.apache.ignite.internal.processors.cache.GridCacheAdapter$16.call(GridCacheAdapter.java:1985)
    at org.apache.ignite.internal.processors.cache.GridCacheAdapter$16.call(GridCacheAdapter.java:1983)
    at org.apache.ignite.internal.util.IgniteUtils.wrapThreadLoader(IgniteUtils.java:6521)
    at org.apache.ignite.internal.processors.closure.GridClosureProcessor$2.body(GridClosureProcessor.java:922)
    at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: javax.cache.integration.CacheLoaderException: javax.cache.CacheException: Failed to find mapping description [cache=WarehouseCache, typeId=class WarehouseKey]. Please configure JdbcType to associate cache 'WarehouseCache' with JdbcPojoStore.
... 12 more
Caused by: javax.cache.CacheException: Failed to find mapping description [cache=WarehouseCache, typeId=class WarehouseKey]. Please configure JdbcType to associate cache 'WarehouseCache' with JdbcPojoStore.
    at org.apache.ignite.cache.store.jdbc.CacheAbstractJdbcStore.entryMapping(CacheAbstractJdbcStore.java:693)
    at org.apache.ignite.cache.store.jdbc.CacheAbstractJdbcStore.load(CacheAbstractJdbcStore.java:813)
    at org.apache.ignite.internal.processors.cache.CacheStoreBalancingWrapper.load(CacheStoreBalancingWrapper.java:97)
    at org.apache.ignite.internal.processors.cache.store.GridCacheStoreManagerAdapter.loadFromStore(GridCacheStoreManagerAdapter.java:326)
... 11 more
[18:50:42] Ignite node stopped OK [uptime=00:00:02:031]
Exception in thread "main" javax.cache.integration.CacheLoaderException: javax.cache.CacheException: Failed to find mapping description [cache=WarehouseCache, typeId=class WarehouseKey]. Please configure JdbcType to associate cache 'WarehouseCache' with JdbcPojoStore.
    at org.apache.ignite.internal.processors.cache.store.GridCacheStoreManagerAdapter.loadFromStore(GridCacheStoreManagerAdapter.java:337)
    at org.apache.ignite.internal.processors.cache.store.GridCacheStoreManagerAdapter.load(GridCacheStoreManagerAdapter.java:293)
     at org.apache.ignite.internal.processors.cache.store.GridCacheStoreManagerAdapter.loadAllFromStore(GridCacheStoreManagerAdapter.java:426)
     at org.apache.ignite.internal.processors.cache.store.GridCacheStoreManagerAdapter.loadAll(GridCacheStoreManagerAdapter.java:392)
     at org.apache.ignite.internal.processors.cache.GridCacheAdapter$16.call(GridCacheAdapter.java:1985)
     at org.apache.ignite.internal.processors.cache.GridCacheAdapter$16.call(GridCacheAdapter.java:1983)
     at org.apache.ignite.internal.util.IgniteUtils.wrapThreadLoader(IgniteUtils.java:6521)
     at org.apache.ignite.internal.processors.closure.GridClosureProcessor$2.body(GridClosureProcessor.java:922)
     at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
     at java.lang.Thread.run(Thread.java:745)
Caused by: javax.cache.CacheException: Failed to find mapping description [cache=WarehouseCache, typeId=class WarehouseKey]. Please configure JdbcType to associate cache 'WarehouseCache' with JdbcPojoStore.
     at org.apache.ignite.cache.store.jdbc.CacheAbstractJdbcStore.entryMapping(CacheAbstractJdbcStore.java:693)
     at org.apache.ignite.cache.store.jdbc.CacheAbstractJdbcStore.load(CacheAbstractJdbcStore.java:813)
     at org.apache.ignite.internal.processors.cache.CacheStoreBalancingWrapper.load(CacheStoreBalancingWrapper.java:97)
     at org.apache.ignite.internal.processors.cache.store.GridCacheStoreManagerAdapter.loadFromStore(GridCacheStoreManagerAdapter.java:326)
... 11 more
我使用了以下CacheConfig文件,
/*
*根据一个或多个许可证颁发给Apache软件基金会(ASF)
*贡献者许可协议。请参阅随附的通知文件
*本作品提供了有关版权所有权的更多信息。
*ASF根据Apache许可证2.0版将此文件许可给您
*(以下简称“许可证”);除非符合以下要求,否则不得使用此文件
*执照。您可以通过以下方式获得许可证副本:
*
*      http://www.apache.org/licenses/LICENSE-2.0
*
*除非适用法律要求或书面同意,软件
*根据许可证进行的分发是按“原样”进行分发的,
*无任何明示或暗示的保证或条件。
*请参阅许可证以了解管理权限和权限的特定语言
*许可证下的限制。
*/
导入java.sql.*;
导入java.util.*;
导入org.apache.ignite.cache.*;
导入org.apache.ignite.cache.store.jdbc.*;
导入org.apache.ignite.configuration.*;
/**
*缓存配置定义。
*
*Apache Ignite模式导入实用程序生成的代码:10/21/2016。
*/
公共类CacheConfig{
/**
*为仓库创建JDBC类型。
*
*@param cacheName缓存名称。
*@return配置的JDBC类型。
*/
私有静态JdbcType jdbcTypeWarehouse(字符串cacheName){
JdbcType JdbcType=新JdbcType();
setCacheName(cacheName);
setDatabaseSchema(“C###TPCCTEST”);
setDatabaseTable(“仓库”);
setKeyType(“org.apache.ignite.WarehouseKey”);
setValueType(“org.apache.ignite.Warehouse”);
//仓库的关键字段。
集合键=新的ArrayList();
add(新的JdbcTypeField(Types.INTEGER,“W_ID”,int.class,“wId”);
setKeyFields(keys.toArray(新的JdbcTypeField[keys.size()]);
//仓库的值字段。
集合VAL=新的ArrayList();
add(新的JdbcTypeField(Types.INTEGER,“W_ID”,int.class,“wId”);
add(新的JdbcTypeField(Types.VARCHAR,“W_NAME”,String.class,“wName”);
add(新的JdbcTypeField(Types.VARCHAR,“W_STREET_1”,String.class,“wstret1”);
add(新的JdbcTypeField(Types.VARCHAR,“W_STREET_2”,String.class,“wStreet2”);
add(新的JdbcTypeField(Types.VARCHAR,“W_CITY”,String.class,“wCity”);
add(新的JdbcTypeField(Types.CHAR,“W_STATE”,String.class,“wState”);
add(新的JdbcTypeField(Types.CHAR,“W_-ZIP”,String.class,“wZip”);
添加(新的JdbcTypeField(Types.FLOAT,“W_TAX”,Double.class,“wTax”);
add(新的JdbcTypeField(Types.FLOAT,“W_YTD”,Double.class,“wYtd”);
setValueFields(vals.toArray(新的JdbcTypeField[vals.size()]);
返回jdbcType;
}
/**
*为仓库创建SQL查询描述符。
*
*@return配置的查询实体。
*/
私有静态查询实体查询实体仓库(){
QueryEntity qryEntity=新QueryEntity();
setKeyType(“org.apache.ignite.WarehouseKey”);
qryEntity.setValueType(“org.apache.ignite.Warehouse”);
//仓库的查询字段。
LinkedHashMap字段=新建LinkedHashMap();
fields.put(“wId”、“java.lang.Integer”);
fields.put(“wName”、“java.lang.String”);
fields.put(“wstret1”、“java.lang.String”);
fields.put(“wstret2”、“java.lang.String”);
fields.put(“wCity”、“java.lang.String”);
fields.put(“wState”、“java.lang.String”);
fields.put(“wZip”、“java.lang.String”);
fields.put(“wTax”、“java.lang.Double”);
fields.put(“wYtd”、“java.lang.Double”);
qryEntity.设置字段(字段);
//字段的别名。
映射别名=新HashMap();
别名。put(“wId”、“W_ID”);
别名。put(“wName”、“W_NAME”);
别名。put(“wStreet1”、“W_STREET_1”);
别名。put(“wStreet2”、“W_STREET_2”);
别名。put(“wCity”、“W_CITY”);
别名.put(“wState”、“W_STATE”);
别名。放置(“wZip”,“W_-ZIP”);
别名。put(“wTax”、“W_TAX”);
别名。put(“wYtd”、“W_YTD”);
qryEntity.setAlias(别名);
//仓库索引。
集合idxs=newarraylist();
添加(新的查询索引(“wId”,true,“SYS_C0011180”);
qryEntity.setIndexes(idxs);
返回量;
}
/**
*配置缓存。
*
*@param cacheName缓存名称。
*@param storeFactory缓存存储工厂。
*@return缓存配置。
*/
公共静态缓存配置缓存(字符串cacheName、CacheJdbcPojoStoreFactory和storeFactory){
if(storeFactory==null)
抛出新的IllegalArgumentException(“缓存存储工厂不能为null”);
CacheConfiguration ccfg=新的CacheConfiguration(cacheName);
ccfg.setCacheStoreFactory(存储工厂);
ccfg.setReadThrough(真);
ccfg.setWriteThrough(真);
//配置JDBC类型。
集合jdbcTypes=newarraylist();
添加(jdbctypehouse(cacheName));
setTypes(jdbcTypes.toArray(新的JdbcType[jdbcTypes.size()]);
//配置查询实体。
集合qryEntities=新的ArrayList();
添加(queryEntityWarehouse());
ccfg.设置查询实体(QRY实体);
返回ccfg;
}

}
您能显示您的配置吗?我已附加了缓存控制