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

黑泽尔铸造类未发现错误上专用成员为黑兹尔客户端复制地图删除

姜晨
2023-03-14

我最近在专用服务器/Hazelcast客户端环境中使用ReplicatedMaps时遇到了问题。我为它制作了一个Stackoverflow帖子,并为它制作了Hazelcast工单。Hazelcast ClassNotFind在客户端使用近缓存。我继续在我的环境中工作,并偶然发现了另一个错误。我不确定它是否会被我的另一个问题的修复程序所覆盖,所以我在这里发布了一个新问题:我的环境是:我得到了一个专用Hazelcast 3.9.3服务器,它有一个稍微修改的hazelcast.xml.我添加了

<replicatedmap name="default">
    <in-memory-format>BINARY</in-memory-format>
    <statistics-enabled>true</statistics-enabled>
</replicatedmap>

我启动黑泽尔铸造服务器并观看控制台消息。

我还编写了一个测试客户端:

package de.empic.hazelwar;

import com.hazelcast.client.HazelcastClient;
import com.hazelcast.client.config.ClientConfig;
import com.hazelcast.core.HazelcastInstance;
import de.empic.hazelwar.model.Cache;

import java.util.Map;

public class Main {
    public static final String HAZELCAST_INSTANCE_NAME = "HAZI";
    public static final String REPLICATEDMAP_NAME = "REP_MAP";
    public static final String MY_KEY = "MyKey";
    public static void main(String[] args) {
        init();
        HazelcastInstance instance = HazelcastClient.getHazelcastClientByName(HAZELCAST_INSTANCE_NAME);
    Map<String, Object> repMap = instance.getReplicatedMap(REPLICATEDMAP_NAME);
        try {
            repMap.remove(MY_KEY);
            repMap.put(MY_KEY, new Cache());
        } catch (Exception e) {
            e.printStackTrace();
        }
        finally
        {
            instance.shutdown();
        }
    }

    private static void init() {
        ClientConfig cfg = new ClientConfig();
        cfg.setInstanceName(HAZELCAST_INSTANCE_NAME);
        // for analysis in the hazelcast management console
        cfg.getProperties().put("hazelcast.client.statistics.enabled", "true");
        cfg.getProperties().put("hazelcast.client.statistics.period.seconds", "60");
        cfg.getNetworkConfig().addAddress("127.0.0.1:5701");
        if (HazelcastClient.newHazelcastClient(cfg) == null) {
            System.err.println(" !!! ERROR in Cache Config !!!");
        }
    }
}

我所做的是在上一次运行完成后直接启动客户端几次。每一次启动,我都会得到一个例外:

INFORMATION: [127.0.0.1]:5701 [dev] [3.9.2] Received auth from Connection[id=16, /127.0.0.1:5701->/127.0.0.1:50403, endpoint=null, alive=true, type=JAVA_CLIENT], successfully authenticated, principal: ClientPrincipal{uuid='68356b07-32dd-4e11-82ed-e3a4611da5a0', ownerUuid='ff081a0d-a52d-47ba-a294-232cee60cd55'}, owner connection: true, client version: 3.9.3
Dez 06, 2018 2:03:23 PM com.hazelcast.replicatedmap.impl.operation.RemoveOperation
SCHWERWIEGEND: [127.0.0.1]:5701 [dev] [3.9.2] java.lang.ClassNotFoundException: de.empic.hazelwar.model.Cache
com.hazelcast.nio.serialization.HazelcastSerializationException: java.lang.ClassNotFoundException: de.empic.hazelwar.model.Cache
    at com.hazelcast.internal.serialization.impl.JavaDefaultSerializers$JavaSerializer.read(JavaDefaultSerializers.java:224)
    at com.hazelcast.internal.serialization.impl.StreamSerializerAdapter.read(StreamSerializerAdapter.java:48)
    at com.hazelcast.internal.serialization.impl.AbstractSerializationService.toObject(AbstractSerializationService.java:185)
    at com.hazelcast.spi.impl.NodeEngineImpl.toObject(NodeEngineImpl.java:339)
    at com.hazelcast.replicatedmap.impl.record.DataReplicatedRecordStore.unmarshall(DataReplicatedRecordStore.java:38)
    at com.hazelcast.replicatedmap.impl.record.AbstractReplicatedRecordStore.remove(AbstractReplicatedRecordStore.java:85)
    at com.hazelcast.replicatedmap.impl.record.AbstractReplicatedRecordStore.remove(AbstractReplicatedRecordStore.java:60)
    at com.hazelcast.replicatedmap.impl.operation.RemoveOperation.run(RemoveOperation.java:50)
    at com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.run(OperationRunnerImpl.java:194)
    at com.hazelcast.spi.impl.operationexecutor.impl.OperationExecutorImpl.run(OperationExecutorImpl.java:406)
    at com.hazelcast.spi.impl.operationexecutor.impl.OperationExecutorImpl.runOrExecute(OperationExecutorImpl.java:433)
    at com.hazelcast.spi.impl.operationservice.impl.Invocation.doInvokeLocal(Invocation.java:569)
    at com.hazelcast.spi.impl.operationservice.impl.Invocation.doInvoke(Invocation.java:554)
    at com.hazelcast.spi.impl.operationservice.impl.Invocation.invoke0(Invocation.java:513)
    at com.hazelcast.spi.impl.operationservice.impl.Invocation.invoke(Invocation.java:207)
    at com.hazelcast.spi.impl.operationservice.impl.InvocationBuilderImpl.invoke(InvocationBuilderImpl.java:60)
    at com.hazelcast.client.impl.protocol.task.AbstractPartitionMessageTask.processMessage(AbstractPartitionMessageTask.java:67)
    at com.hazelcast.client.impl.protocol.task.AbstractMessageTask.initializeAndProcessMessage(AbstractMessageTask.java:123)
    at com.hazelcast.client.impl.protocol.task.AbstractMessageTask.run(AbstractMessageTask.java:103)
    at com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.run(OperationRunnerImpl.java:154)
    at com.hazelcast.spi.impl.operationexecutor.impl.OperationThread.process(OperationThread.java:125)
    at com.hazelcast.spi.impl.operationexecutor.impl.OperationThread.run(OperationThread.java:100)
Caused by: java.lang.ClassNotFoundException: de.empic.hazelwar.model.Cache
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at com.hazelcast.nio.ClassLoaderUtil.tryLoadClass(ClassLoaderUtil.java:173)
    at com.hazelcast.nio.ClassLoaderUtil.loadClass(ClassLoaderUtil.java:147)
    at com.hazelcast.nio.IOUtil$ClassLoaderAwareObjectInputStream.resolveClass(IOUtil.java:591)
    at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1868)
    at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1751)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2042)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1573)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:431)
    at com.hazelcast.internal.serialization.impl.JavaDefaultSerializers$JavaSerializer.read(JavaDefaultSerializers.java:219)
    ... 21 more

在我看来,在我告诉Hazelcast在内存存储中执行二进制操作后,它试图反序列化复制映射的内容,这似乎是一个错误。

共有1个答案

苏鸿羽
2023-03-14

此问题由昨天发布的黑泽尔卡斯特 3.11.1 修复

这是一个错误,看到https://github.com/hazelcast/hazelcast/issues/14235

 类似资料:
  • 我使用Hazelcast启动了服务器 启动服务器的 之后,我开始了如下的mancenter 然后我尝试将我的Spring启动应用程序连接到人心,如下所示 但它并没有连接到已经启动的服务器,它在端口5702上启动一个新的hazelcast服务器,如下所示 如何将mancenter连接到端口5701上已启动的hazelcast服务器,而不是在端口5702上启动新的hazelcast服务器?

  • 2023.10.01国庆节上午10点 Java开发实习生,在杭州,公司是一个自研公司,看官网介绍是做云数据库解决方案的。 大概半个小时,全程拷打,感觉发挥地的不好 每次问到一个技术,先问有没有看过源码 1. 自我介绍 2. 介绍项目,项目分工,项目技术选型是怎么做的,为什么用这些技术?项目上线没有 3. 项目中做过哪些测试?怎么做的? 4. 用过PostgreSQL这个数据库吗?了解过,那Post

  • 主要内容:黑帽黑客,白帽黑客,灰帽黑客黑客可以分为三类: 黑帽黑客 白帽黑客 灰帽子黑客 黑帽黑客 黑帽黑客也被称为不道德的黑客或安全破解者。这些人非法侵入系统窃取金钱或实现自己的非法目标。他们发现银行或其他公司的安全性较差,并窃取资金或信用卡信息。他们也可以修改或销毁数据。黑帽黑客是非法的。 白帽黑客 白帽黑客也被称为道德黑客或渗透测试者。白帽黑客是黑客世界的好人。 这些人使用黑帽黑客使用的相同技术。他们也攻击系统,但是他们只能破解

  • 我正在尝试编译和部署neo4j-connector。 neo4j-connector-impl中的两个类(和)具有以下注释: 我可以想出一些方法(例如,添加一个方法),但这感觉不对:这段代码自一年前提交以来一直未变,所以为什么它不适合我呢?这里可能出了什么问题?

  • 当我的客户机应用程序尝试从我的安全RESTWeb服务请求资源时,我得到了粘贴在下面的错误。 我已经在这个主题上找到了这个答案,但是额外的代码似乎很极端。使用泽西岛客户端访问安全的宁静Web服务 有谁知道解决问题的更简单的方法吗? 我的项目:在服务器端,我正在使用jdbc realm的基本身份验证,这在浏览器中使用时工作正常。在客户端,我设置了用户名和密码,当我发送请求时发生错误。如果您需要代码片段

  • 我目前正在按照本教程重新训练盗梦空间v3神经网络的顶层:https://www.youtube.com/watch?v=m2D02eZTB4shttps://www.tensorflow.org/tutorials/image_retraining 我已经安装了一个运行Ubuntu 14.04.5 LTS 64位的VirtualBox Python 2.7.6 张量流1.3.0 bazel构建标签