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

将类移动到不同包后的HazelcastSerializationException

施彬郁
2023-03-14

我正在运行一个嵌入式hazelcast部署,并存储一个ConcurrentMap ,其中映射中的值类型是我的自定义类。

public class MyType implements Serializable {
   private MyTag tag;
   ...
}

它的一个字段是接口mytag

public interface MyTag<T> {
}
public class MyTags {

   public static enum Integers implements MyTag<Integer> {
      INT_TAG1,
      INT_TAG2,
      ...
   } 
  
    public static enum Strings implements MyTag<String> {
      STRING_TAG1,
      ...
   }
   
   ...
}
com.hazelcast.nio.serialization.HazelcastSerializationException: java.lang.ClassNotFoundException: old.package.MyTags$Strings

共有1个答案

禄光霁
2023-03-14

Java的serializable取决于类保持完全相同。移动的类不再是同一个类。选择Hazelcast用于对象序列化的其他选项之一。有关不同选项的更多指导,请参见比较序列化选项。

 类似资料:
  • 我在第一步使用Spring-Boot和JPA时遇到了麻烦。我从使用Gradle的Git中的一个非常简单的示例开始。

  • 我只是将所有的java类移到一个包(SSP),因为我已经将它们放在默认的包uo中,现在我的应用程序将不再部署到tomcat.... 我使用: NetBeans 8.0.2 Tomcat 8.0.28 PostgreSQL 9.4 null ssp.roles_rights.getInstance(roles_rights.java:35) ssp.startup.ContextInitialize

  • 我有一个xml。我想要元素

  • 我试图将注释字段从我的类移动到另一个我用注释的类中。当字段位于实体中时,Hibernate将发出正确的INSERT语句。将字段移动到类时,不会生成INSERT语句。 所以这工作: 但这并没有: 保存实例(并刷新EntityManager)时,没有例外。如果我禁用在Flyway中创建适当的表,Hibernate验证会触发“缺少表[my_entity_doubles]”错误,因此Hibernate似乎

  • 所以,我试图发出一个命令,当你说这个命令时,提供一个语音频道的名称和名称,将你提到的成员移动到该语音频道。我对此做了一些研究,但仍然无法使其工作。 现在,当我使用语音频道“Music”(也就是“d!move[提及]Music”)尝试该命令时,它会将“Moved[member]返回null”返回到控制台,当然,不会移动成员。它似乎可以找到我提到的成员,但找不到语音频道。任何帮助都将不胜感激。谢谢

  • 解决这种迁移的合适方法是什么?扔掉changelog历史记录,使用修改后的changelog从头重新构建架构,然后迁移数据?有更好的方法吗?