当前位置: 首页 > 知识库问答 >
问题:

使用Hazelcast(Java)时存储CONCURRENT_MAP_REMOVE引发的异常

史钊
2023-03-14

我正在集群中使用hazelcast-2.5。我试图在我的Hazelcast映射(String,ArrayList)的store-load实现中加载用户定义对象的ArrayList(带有几个字符串字段和一个整数)。初始加载没有给我任何例外。但是,如果由于对映射中没有值的键的get调用而调用了load,(因此调用了load),则会引发以下异常(在该时间点之后,我还会对映射执行remove操作):

Store thrown exception for CONCURRENT_MAP_REMOVE

它给我一个类转换异常,说明我的UD对象不能转换为字符串。如果我在实现中遗漏了一些东西,我不会感到惊讶--只是在进行此调用时,我试图在映射上执行get操作,并将结果分配给用户定义对象的ArrayList。store-load中的load操作还返回用户定义对象的ArrayList(store-load以相同的方式声明)。

WARNING: [192.168.1.1]:5703 [dev] Store thrown exception for CONCURRENT_MAP_REMOVE
java.lang.ClassCastException: models.test.TestClass cannot be cast to java.lang.String
    at models.test.StoreLoadTestMap.load(StoreLoadTestMap.java:1)
    at com.hazelcast.impl.concurrentmap.MapStoreWrapper.load(MapStoreWrapper.java:143)
    at com.hazelcast.impl.ConcurrentMapManager$RemoveOperationHandler$RemoveLoader.doMapStoreOperation(ConcurrentMapManager.java:2681)
    at com.hazelcast.impl.ConcurrentMapManager$AbstractMapStoreOperation.run(ConcurrentMapManager.java:3860)
    at com.hazelcast.impl.executor.ParallelExecutorService$ParallelExecutorImpl$ExecutionSegment.run(ParallelExecutorService.java:212)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:662)
    at com.hazelcast.impl.ExecutorThreadFactory$1.run(ExecutorThreadFactory.java:38) 

有什么办法排除故障吗?

共有1个答案

莘俊能
2023-03-14

如果从hazelcast加载操作返回的arraylist(在store-load实现中)为空,那么您将会得到这个异常。

 类似资料:
  • 我有一个包含属性的对象,该属性是包含两个字符串属性的对象列表。我的目标是将此映射的键与另一个包含字符串属性的对象进行比较。 为了更清楚我的请求包含地图: 我的sharePointDriveResponse包含以下列: 在这个阶段,我实现了一些工作正常的东西: 我的问题如下: 在这里传输数据时是否可能引发异常 在示例中:我发送一个创建文档的请求,并传递一个不允许文档使用但允许其他内容类型使用的字段。

  • editable.FTL 什么是正确的方法来导入到我的模板。我尝试使用cfg.addautoimport(“me”,“editable.ftl”)。当我试图处理我的主模板时,会引发以下异常。 错误[FreeMarker.runtime](http-localhost-127.0.0.1-8080-1)执行FreeMarker模板时出错:FreeMarker.core.InvalidReferenc

  • 在开发我的第一个“大型”Spring项目时,我遇到了一件事,我找不到任何反馈。我试图列出所有用户-UserServiceJpaImpl类中findAll方法中的问题occours(它只从JpaRepository返回findAll()资源)-我得到: 我通过谷歌找不到任何有用的东西,所以我向你们寻求帮助。 您可以在github上找到我当前的所有代码:https://github.com/Bunio

  • 为什么在使用java可选方法时,不能在orElse部分抛出选中的异常? 例如: 其中是扩展类的自定义异常(检查异常)。 但是这段代码让编译器感到不安: (知道它已经在方法声明中抛出,并且用try-catch包围这个块并不能解决编译问题)。 但是,如果我们使扩展(未选中),那么所有工作都完美。 有人知道为什么吗? 在这个java 9可选方法中阻止抛出此类异常的原因是什么? 为什么我要将我的异常设置为

  • 我正在使用Spring In Action 3 Action学习Spring MVC,我已经实现了显示用户注册表的基本程序,一旦我们提交表单,它将使用进行验证。 这是我的Spring控制器: 这是我的Spitter类文件: 这是我的编辑。显示给用户注册的jsp文件: 要加载表单,我将访问URL为:,一旦表单被加载,我只需提交表单而无需输入任何详细信息,以便我可以检查我的表单是否得到验证。但是我得到