java - 在2.0.0版本中启动Ignite服务器后出现此错误

标签 java caching ignite

我正在使用 Ignite 2.0.0 版本,在启动 ignite 服务器和创建缓存时使用 FactoryBuilder.factoryOf(XYZLoader.class) 且 XYZLoader 类可序列化,但仍低于错误

Failed to execute job due to unexpected runtime exception    [jobId=62c5bce5d51-f81fff08-bdab-4c64-b6f3-e81acebdea26,     ses=GridJobSessionImpl [ses=GridTaskSessionImpl [taskName=o.a.i.i.v.cache.VisorCacheConfigurationCollectorTask, dep=LocalDeployment [super=GridDeployment [ts=1500533972142, depMode=SHARED, clsLdr=sun.misc.Launcher$AppClassLoader@6665e41, clsLdrId=24a5bce5d51-f81fff08-bdab-4c64-b6f3-e81acebdea26, userVer=0, loc=true, sampleClsName=java.lang.String, pendingUndeploy=false, undeployed=false, usage=0]], taskClsName=o.a.i.i.v.cache.VisorCacheConfigurationCollectorTask, sesId=52c5bce5d51-f81fff08-bdab-4c64-b6f3-e81acebdea26, startTime=1500534089196, endTime=9223372036854775807, taskNodeId=f81fff08-bdab-4c64-b6f3-e81acebdea26, clsLdr=sun.misc.Launcher$AppClassLoader@6665e41, closed=false, cpSpi=null, failSpi=null, loadSpi=null, usage=1, fullSup=false, internal=true, subjId=f81fff08-bdab-4c64-b6f3-e81acebdea26, mapFut=IgniteFuture [orig=GridFutureAdapter [ignoreInterrupts=false, state=INIT, res=null, hash=1533277451]], execName=null], jobId=62c5bce5d51-f81fff08-bdab-4c64-b6f3-e81acebdea26]]

java.lang.ClassCastException: javax.cache.configuration.FactoryBuilder$ClassFactory cannot be cast to org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStoreFactory 
    at org.apache.ignite.internal.visor.cache.VisorCacheJdbcType.list(VisorCacheJdbcType.java:68) 
    at org.apache.ignite.internal.visor.cache.VisorCacheConfiguration.<init>(VisorCacheConfiguration.java:186) 
    at org.apache.ignite.internal.visor.cache.VisorCacheConfigurationCollectorJob.config(VisorCacheConfigurationCollectorJob.java:72) 
    at org.apache.ignite.internal.visor.cache.VisorCacheConfigurationCollectorJob.run(VisorCacheConfigurationCollectorJob.java:61) 
    at org.apache.ignite.internal.visor.cache.VisorCacheConfigurationCollectorJob.run(VisorCacheConfigurationCollectorJob.java:32) 
    at org.apache.ignite.internal.visor.VisorJob.execute(VisorJob.java:69) 
    at org.apache.ignite.internal.processors.job.GridJobWorker$2.call(GridJobWorker.java:566) 
    at org.apache.ignite.internal.util.IgniteUtils.wrapThreadLoader(IgniteUtils.java:6621) 
    at org.apache.ignite.internal.processors.job.GridJobWorker.execute0(GridJobWorker.java:560) 
    at org.apache.ignite.internal.processors.job.GridJobWorker.body(GridJobWorker.java:489) 
    at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110) 
    at org.apache.ignite.internal.processors.job.GridJobProcessor.processJobExecuteRequest(GridJobProcessor.java:1114) 
    at org.apache.ignite.internal.processors.task.GridTaskWorker.sendRequest(GridTaskWorker.java:1379) 
    at org.apache.ignite.internal.processors.task.GridTaskWorker.processMappedJobs(GridTaskWorker.java:640) 
    at org.apache.ignite.internal.processors.task.GridTaskWorker.body(GridTaskWorker.java:532) 
    at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110) 
    at org.apache.ignite.internal.processors.task.GridTaskProcessor.startTask(GridTaskProcessor.java:743) 
    at org.apache.ignite.internal.processors.task.GridTaskProcessor.execute(GridTaskProcessor.java:500) 
    at org.apache.ignite.internal.IgniteComputeImpl.executeAsync0(IgniteComputeImpl.java:487) 
    at org.apache.ignite.internal.IgniteComputeImpl.executeAsync(IgniteComputeImpl.java:467) 
    at org.apache.ignite.internal.visor.compute.VisorGatewayTask$VisorGatewayJob.execute(VisorGatewayTask.java:445) 
    at org.apache.ignite.internal.processors.job.GridJobWorker$2.call(GridJobWorker.java:566) 
    at org.apache.ignite.internal.util.IgniteUtils.wrapThreadLoader(IgniteUtils.java:6621) 
    at org.apache.ignite.internal.processors.job.GridJobWorker.execute0(GridJobWorker.java:560) 
    at org.apache.ignite.internal.processors.job.GridJobWorker.body(GridJobWorker.java:489) 
    at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110) 
    at org.apache.ignite.internal.processors.job.GridJobProcessor.processJobExecuteRequest(GridJobProcessor.java:1114) 
    at org.apache.ignite.internal.processors.task.GridTaskWorker.sendRequest(GridTaskWorker.java:1379) 
    at org.apache.ignite.internal.processors.task.GridTaskWorker.processMappedJobs(GridTaskWorker.java:640) 
    at org.apache.ignite.internal.processors.task.GridTaskWorker.body(GridTaskWorker.java:532) 
    at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110) 
    at org.apache.ignite.internal.processors.task.GridTaskProcessor.startTask(GridTaskProcessor.java:743) 
    at org.apache.ignite.internal.processors.task.GridTaskProcessor.execute(GridTaskProcessor.java:500) 
    at org.apache.ignite.internal.processors.task.GridTaskProcessor.execute(GridTaskProcessor.java:480) 
    at org.apache.ignite.internal.processors.rest.handlers.task.GridTaskCommandHandler.handleAsyncUnsafe(GridTaskCommandHandler.java:227) 
    at org.apache.ignite.internal.processors.rest.handlers.task.GridTaskCommandHandler.handleAsync(GridTaskCommandHandler.java:163) 
    at org.apache.ignite.internal.processors.rest.GridRestProcessor.handleRequest(GridRestProcessor.java:266) 
    at org.apache.ignite.internal.processors.rest.GridRestProcessor.access$100(GridRestProcessor.java:89) 
    at org.apache.ignite.internal.processors.rest.GridRestProcessor$2.body(GridRestProcessor.java:155) 
    at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at java.lang.Thread.run(Thread.java:745)

缓存配置:

CacheConfiguration<String, JSONObject> CacheConfiguration = new CacheConfiguration<String, JSONObject>();
        CacheConfiguration.setName("TEST");
        CacheConfiguration.setWriteThrough(true);
        CacheConfiguration.setReadThrough(true);
        CacheConfiguration.setBackups(2);
        CacheConfiguration.setIndexedTypes(String.class, Table.class);    CacheConfiguration.setCacheStoreFactory(FactoryBuilder.factoryOf(XYZLoader.class));
IgniteCache<String, JSONObject> Cache = ignite.getOrCreateCache(CacheConfiguration);

最佳答案

这是一个已知问题:https://issues.apache.org/jira/browse/IGNITE-5781

它已经在 master 中得到修复,并将最终在 2.2 中出现。

关于java - 在2.0.0版本中启动Ignite服务器后出现此错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45207834/

相关文章:

java - PMD CallSuperInConstructor 是什么原因?

java - Spring boot @Caching 具有多个键

javascript - 根据年龄删除服务 worker 缓存中的条目

c# - 我应该学习 C# 还是 Java?

java - 使用 hibernate 对有序数据进行分页

java - 方法的继承与变量的继承有何不同?为什么?

performance - 与缓存预取提示相反

ignite - Apache 点燃: How does the indexing work?

redis - 内存分布式缓存中的数据分区和数据持久化

java - Apache Ignite 无法找到 XML 模式命名空间的 Spring NamespaceHandler