无法实例化类,同时更改区域添加加载到该区域的缓存

问题描述

我有一个 apache geode 设置,其中有一个定位器和一个服务器。我们有一个地区员工。我们试图实现在线缓存,其中缓存未命中将查找数据库并填充 apache geode,但是在部署 Jars 之后,当我尝试更改区域时。显示异常

data

Stack Trace:
[error 2021/04/09 15:18:30.513 IST <Function Execution Processor2> tid=0x3a] Error instantiating class: <com.abc.geode.ApacheGeode.EmployeeCacheLoader>
java.lang.RuntimeException: Error instantiating class: <com.abc.geode.ApacheGeode.EmployeeCacheLoader>
    at org.apache.geode.management.internal.configuration.domain.DeclarableTypeInstantiator.newInstance(DeclarableTypeInstantiator.java:43)
    at org.apache.geode.management.internal.cli.functions.RegionAlterFunction.alterRegion(RegionAlterFunction.java:202)
    at org.apache.geode.management.internal.cli.functions.RegionAlterFunction.executeFunction(RegionAlterFunction.java:67)
    at org.apache.geode.management.cli.CliFunction.execute(CliFunction.java:37)
    at org.apache.geode.internal.cache.MemberFunctionStreamingMessage.process(MemberFunctionStreamingMessage.java:201)
    at org.apache.geode.distributed.internal.DistributionMessage.scheduleAction(DistributionMessage.java:372)
    at org.apache.geode.distributed.internal.DistributionMessage$1.run(DistributionMessage.java:436)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at org.apache.geode.distributed.internal.ClusterOperationExecutors.runUntilShutdown(ClusterOperationExecutors.java:475)
    at org.apache.geode.distributed.internal.ClusterOperationExecutors.doFunctionExecutionThread(ClusterOperationExecutors.java:393)
    at org.apache.geode.logging.internal.executors.LoggingThreadFactory.lambda$newThread$0(LoggingThreadFactory.java:119)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassCastException: com.abc.geode.ApacheGeode.EmployeeCacheLoader cannot be cast to org.apache.geode.cache.Declarable
    at org.apache.geode.management.internal.configuration.domain.DeclarableTypeInstantiator.newInstance(DeclarableTypeInstantiator.java:34)

尝试过的东西

  1. 我尝试过不实施 Declarable 但仍然没有成功。
  2. 我没有对序列化程序进行任何更改。

解决方法

我刚刚尝试了使用 Apache Geode 1.13.2 的场景,效果很好,您可以找到示例 here。您在服务器的类路径中是否有同一个 jar 的多个版本?,这可能是异常的原因。

干杯。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...