微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

我有一个 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 的多个版本?,这可能是异常的原因。

干杯。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。